pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问

pssh命令安装

在CentOS系统环境下,介绍yum的安装和源码安装的方式:
yum安装:
yum install pssh
源码安装:
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

== 参数命令介绍 ==

'''介绍pssh参数'''  pssh   在多个主机上并行地运行命令

选项

--version:查看版本 
--help:查看帮助,即此信息 
-h:主机文件列表,内容格式”[user@]host[:port]”  -h:执行命令的远程主机列表  或者 -H user@ip:port  文件内容格式[user@]host[:port]  -p:并发的线程数,一次最大允许多少连接 -l:远程机器的用户名 -o:输出内容重定向到一个文件 -e:执行错误重定向到一个文件  -t:设置命令执行的超时时间,0无限制 -O:设置ssh参数的具体配置,参照ssh_config配置文件 -v:详细模式  -A:手动输入密码模式,提示输入密码并且把密码传递给ssh  -x:传递多个SSH 命令,多个命令用空格分开,用引号括起来 -X:同-x 但是一次只能传递一个命令 -P:执行时输出执行信息 -i 显示标准输出和标准错误在每台host执行完毕后


'''其他命令'''

        pscp     传输文件到多个hosts,类似scp

        pslurp   从多台远程机器拷贝文件到本地

        pnuke    并行在远程主机杀进程

        prsync   使用rsync协议从本地计算机同步到远程主机


== 实例 ==

pssh

# pssh -h ip.txt -l root chkconfig --level 2345 snmpd on  
[1] 10:59:29 [SUCCESS] ... ...  
[2] 10:59:29 [SUCCESS] ... ...  
[3] 10:59:29 [SUCCESS] ... ...  
# pssh -h ip.txt -i uptime
[1] 11:15:03 [SUCCESS] Mar.mars.he 11:15:11 up 4 days, 16:25, 1 user, load average: 0.00, 0.00, 0.00
[2] 11:15:03 [SUCCESS] Jan.mars.he 11:15:12 up 3 days, 23:26, 0 users, load average: 0.00, 0.00, 0.00
[3] 11:15:03 [SUCCESS] Feb.mars.he 11:15:12 up 4 days, 16:26, 2 users, load average: 0.08, 0.02, 0.01

pscp

$ pscp -h ip.txt -l root /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf  
[1] 11:00:42 [SUCCESS] ... ...  
[2] 11:00:42 [SUCCESS] ... ...  
[3] 11:00:42 [SUCCESS] ... ...