前提:勉ssh秘钥登陆
使用pdssh
1、配置主机列表
web.list
root@192.168.1.2:22
root@192.168.1.3.182:22
root@192.168.1.4.181:22
file.list
root@192.168.1.26:22
root@192.168.1.27:22
root@192.168.1.28:22
2、远程执行命令
-h 执行命令的远程主机列表 或者 -H user@ip:port 文件内容格式[user@]host[:port]
-l 远程机器的用户名
-P 执行时输出执行信息
-p 一次最大允许多少连接
-o 输出内容重定向到一个文件
-e 执行错误重定向到一个文件
-t 设置命令执行的超时时间
-A 提示输入密码并且把密码传递给ssh
-O 设置ssh参数的具体配置,参照ssh_config配置文件
-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来
-X 同-x 但是一次只能传递一个命令
-i 显示标准输出和标准错误在每台host执行完毕后
例:
执行单主机命令
pssh -h web.list -l root chkconfig --level 2345 snmpd on
批量执行同步命令
pssh -P -h test.txt uptime
pssh -H root@192.168.1.25:22 -H root@192.168.1.26:22 -i "date"
3、批量拷贝文件
pscp -h web.list 本地文件 远程路径
4、同步目录
prsync -h web.list -l dongwm -a -r /etc/sysconfig /tmp/etc 将本地的etc下的sysconfig目录递归同步到远程/tmp/etc/下面
5、远程拷贝
pslurp -h web.list -L /tmp/test -l root /tmp/network test 将远程主机的network文件拷贝到本地
6、并行杀死进程
pnuke -h web.list syslog 杀死远程主机的日志进程
7、安装
#wget http://peak.telecommunity.com/dist/ez_setup.py
#python ez_setup.py
#wget http://parallel-ssh.googlecode.com/files/pssh-2.2.2.tar.gz
# tar zxvf pssh-2.2.2.tar.gz
# cd pssh-2.2.2
# python setup.py install
还有batchshell客户端很好用