pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。
以下操作以centos为例
1、安装(源码和yum方式)
(1)yum
# yum install pssh -y
(2)源码
# wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
# tar xf pssh-2.3.1.tar.gz
# cd pssh-2.3.1/
# python setup.py install
2、查看如何使用?
--version:查看版本
--help:查看帮助,即此信息
-h:主机文件列表,内容格式”[user@]host[:port]”
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输入文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-v:详细模式
-A:手动输入密码模式
-x:额外的命令行参数使用空白符号,引号,反斜线处理
-X:额外的命令行参数,单个参数模式,同-x
-i:每个服务器内部处理信息输出
-P:打印出服务器返回信息
3、使用
(1)-h ----后面跟一个保存有ip列表的文件,如:
# cat ip.txt
192.168.4.46
# pssh -h ip.txt 'uptime'
[1] 10:25:50 [SUCCESS] 192.168.4.46 22
(2) -P(大写)
# pssh -P -h ip.txt 'uptime'
192.168.4.46: 10:27:10 up 32 days, 1:04, 4 users, load average: 0.05, 0.04, 0.05 ----返回了服务器信息
192.168.4.46: [1] 10:27:10 [SUCCESS] 192.168.4.46 22
(3)-i
# pssh -i -h ip.txt 'uptime'
[1] 10:32:34 [SUCCESS] 192.168.4.46 22
10:32:34 up 32 days, 1:09, 4 users, load average: 0.00, 0.01, 0.05 (4)-l 指定用户名
# pssh -i -l root -h ip.txt 'uptime'
[1] 10:34:15 [SUCCESS] 192.168.4.46 22
10:34:15 up 32 days, 1:11, 4 users, load average: 0.00, 0.01, 0.05 (5)-o # pssh -i -l root -h ip.txt -o /tmp/result 'uptime'
[1] 10:34:49 [SUCCESS] 192.168.4.46 22
10:34:49 up 32 days, 1:12, 4 users, load average: 0.00, 0.01, 0.05
[root@test ~]# cat /tmp/result/192.168.4.46
10:34:49 up 32 days, 1:12, 4 users, load average: 0.00, 0.01, 0.05