一、pssh简介
pssh原名为parallel-ssh,底层使用python编写,需要python解释器和核心库支持(中心主机安装python即可),可以并行在多个主机上执行远程命令行操作,parallel-ssh工具执行时最多生成32个进程,适用于小批量管理主机,执行一些并行批量化命令行操作
二、pssh的安装
$ wget https://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz $ tar xf pssh-2.3.1.tar.gz $ cd pssh-2.3.1/ $ sudo python setup.py install
三、pssh工具包的使用
pssh工具包有5个命令行工具:pssh、pscp、prsync、pslurp、pnuke
如中心主机使用pssh工具包,则需要做好ssh信任被管理的主机
1、pssh多主机并行运行命令(ip.data中的格式可以是root@ip:port)
$ sudo pssh -P -h ip.data uptime # 在多个主机上远程执行uptime命令 172.16.2.225: 14:54:37 up 3:21, 1 user, load average: 0.00, 0.01, 0.05 [1] 14:54:39 [SUCCESS] 172.16.2.225 172.16.2.226: 14:54:37 up 3:21, 1 user, load average: 0.00, 0.01, 0.05 [2] 14:54:39 [SUCCESS] 172.16.2.226 172.16.2.220: 14:54:36 up 3:21, 1 user, load average: 0.00, 0.01, 0.05 [3] 14:54:39 [SUCCESS] 172.16.2.220
2、pscp把文件并行复制到多个主机(单向,服务器端向客户端)
$ sudo pscp -h ip.data -l root zabbix.php /tmp #将本地的zabbix.php文件上传到目标主机的/tmp目录下 [1] 15:03:57 [SUCCESS] 172.16.2.225 [2] 15:03:57 [SUCCESS] 172.16.2.220 [3] 15:03:57 [SUCCESS] 172.16.2.226
3、prsync使用rsync协议将本地目录同步到多个主机
$ sudo prsync -r -h ip.data -l root zatree /tmp # 将本地的zatree目录递归同步到目标主机的/tmp目录下 [1] 14:47:43 [SUCCESS] 172.16.2.220 [2] 14:47:43 [SUCCESS] 172.16.2.226 [3] 14:47:43 [SUCCESS] 172.16.2.225
4、pslurp将远程主机上的某个文件复制到本地(仅限传输文件)
$ sudo pslurp -h ip.data -L /data -l root /tmp/ikkitest.file ikki.file # 将目标主机的/tmp/ikkitest.file文件复制到本地的/data目录下,并改名为ikki.file [1] 13:34:24 [SUCCESS] 172.16.2.220 [2] 13:34:24 [SUCCESS] 172.16.2.225 [3] 13:34:24 [SUCCESS] 172.16.2.226
5、pnuke并行在远程主机杀死进程
$ sudo pnuke -h ip.data -l root zabbix # 杀死远程主机上的zabbix进程(ps中关键词) [1] 15:10:56 [SUCCESS] 172.16.2.220 [2] 15:10:56 [SUCCESS] 172.16.2.225 [3] 15:10:56 [SUCCESS] 172.16.2.226