欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

轻量级自动操作工具--pssh&pscp.pssh

最编程 2024-07-18 16:38:36
...
pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复 制,提供了基于ssh和scp的多个并行工具 项目:http://code.google.com/p/parallel-ssh/
pdsh:Parallel remote shell program,是一个多线程远程shell客户端,可以 并行执行多个远程主机上的命令。 pdsh可以使用几种不同的远程shell服务,包 括标准的“rsh”,Kerberos IV和ssh 项目: https://pdsh.googlecode.com/
mussh:Multihost SSH wrapper,是一个shell脚本,允许您使用一个命令在 多个主机上通过ssh执行命令或脚本。 mussh可使用ssh-agent和RSA / DSA密 钥,以减少输入密码 项目:http://www.sourceforge.net/projects/mussh
说明:以上工具都包含在EPEL源中,配置yum源可以参考这个博客:https://www.cnblogs.com/alexlv/p/15252346.html
一、安装pssh包
yum install pssh -y

pssh 工具

选项如下:
--version:查看版本 
-h:主机文件列表,内容格式”[user@]host[:port]”
-H:主机字符串,内容格式”[user@]host[:port]”
-A:手动输入密码模式   -i:每个服务器内部处理信息输出
-l:登录使用的用户名   -p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输出文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-P:打印出服务器返回信息
-v:详细模式
pssh 示例
-H指定IP地址 ;-A 密码验证,默认以当前用户;-i 打印执行结果在屏幕上
pssh -H "172.16.8.180" -A -i hostname
通过pssh批量关闭\开启多台机器的selinux
-h:主机文件列表,内容格式(将需要控制的主机IP地址存放在文件中)
[11:14:31 root@localhost ~]#cat host.txt 
192.168.1.6
192.168.1.7
[11:17:58 root@localhost ~]#pssh -h host.txt -A -i "sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config"

多台机器执行结果重定向到 本机的文件夹里

 

pssh -h host.txt -A -i -o /data/host.log hostname

 

多台机器重定向到 本机的文件,有几台机器就生成几个文件

pssh -h host.txt -i -A -o /data/ hostname

批量发送指令(指定用户)

pssh -H  root@192.168.1.7 -i -A  setenforce 1

将标准错误和标准正确重定向都保存至/app目录下

pssh -H 192.168.1.10 -o /app -e /app -i “hostname

 

 pscp.pssh

 pscp.pssh功能是将本地文件批量复制到远程主机 

  pscp-pssh选项
-v 显示复制过程
-r 递归复制目录
 
将本地的/data/host.log/192.168.1.6 文件复制到/data/ 
pscp.pssh -A -H 192.168.1.6 /data/host.log/192.168.1.6 /data/

将本地的/data/host.log/192.168.1.6 文件复制到 host.txt 文件里IP对应主机的data上

pscp.pssh -A -h host.txt /data/host.log/192.168.1.6 /data/

将本地多个文件批量复制到/data/ 

pscp.pssh -A -H 192.168.1.6 /data/host.log/192.168.1.6 /data/host.log/192.168.1.7 /data/ 

将本地目录批量复制到/data/目录

pscp.pssh -A -H 192.168.1.6 -r /data/host.log/ /data/

 

 pslurp命令

  pslurp功能是将远程主机的文件批量复制到本地

pslurp选项

-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称

-r 递归复制目录

批量下载目标服务器的passwd文件至/data下,并更名为user

pslurp -A -H 192.168.1.6 -L /data /etc/passwd user 

#在data下生成文件夹名为对应IP地址的文件夹下的user

 

推荐阅读