pssh
pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复 制,提供了基于ssh和scp的多个并行工具 项目:http://code.google.com/p/parallel-ssh/
pdsh:Parallel remote shell program,是一个多线程远程shell客户端,可以 并行执行多个远程主机上的命令。 pdsh可以使用几种不同的远程shell服务,包 括标准的“rsh”,Kerberos IV和ssh 项目: https://pdsh.googlecode.com/
mussh:Multihost SSH wrapper,是一个shell脚本,允许您使用一个命令在 多个主机上通过ssh执行命令或脚本。 mussh可使用ssh-agent和RSA / DSA密 钥,以减少输入密码 项目:http://www.sourceforge.net/projects/mussh
说明:以上工具都包含在EPEL源中
pssh 工具
选项如下:
-version:查看版本
-h:主机文件列表,内容格式”[user@]host[:port]”
-H:主机字符串,内容格式”[user@]host[:port]”
-A:手动输入密码模式 -i:每个服务器内部处理信息输出
-l:登录使用的用户名 -p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输出文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-P:打印出服务器返回信息
-v:详细模式
pssh 示例
-H指定IP地址 ;-A 密码验证,默认以当前用户;-i 打印执行结果在屏幕上
pssh -H “172.16.8.180” -A -i hostname
通过pssh批量关闭多台机器的selinux
[09:21:37 root@alex data]#cat host.txt
172.16.8.180
172.16.8.221
[09:21:42 root@alex data]#pssh -h host.txt -i "sed -i 's/SELINUX=disable/SELINUX=enforcing/' /etc/selinux/config"
[1] 09:21:56 [SUCCESS] 172.16.8.221
[2] 09:21:56 [SUCCESS] 172.16.8.180
多台机器执行结果重定向到 本机的文件夹里
pssh -h host.txt -i -o /data/host.log hostname
多台机器执行结果重定向到 本机的文件,有几台机器就生成几个文件
pssh -h host -i -o /data/ hostname
pscp
将远程服务器的目录/文件复制到data下
pscp -h host.txt -r /data/host.log/ /data/
复制多个文件到远程服务器(复制1.txt,2.txt 到host.txt中地址的服务器的data里)
pscp -h host.txt /data/1.txt /data/2.txt /data
复制本机的/data/test文件夹到host.txt中地址的对应服务器data里
pscp -h host.txt -r /data/test /data/
复制远程文件到本地pslurp
pslurp功能是将远程主机的文件批量复制到本地
pslurp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par][-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] [-L localdir] remote local(本地名)
pslurp选项
-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称
-r 递归复制目录
批量下载目标服务器的passwd文件至/app下,并更名为user
pslurp -H 192.168.1.10 -L /app /etc/passwd user
如归报错如下,可能是本地或者服务器有冲突的文件夹名,更改一个就可以了,或者是找不到所需要的文件。