天天看点

Linux下批量管理工具PSSH

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:查看版本 <br>--help:查看帮助,即此信息 <br>-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 -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 -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] ... ...         

继续阅读