Linux下批量管理工具pssh安装和使用
pssh工具包
安装:yum -y install pssh
- pssh:在多个主机上并行地运行命令
- pscp:把文件并行地复制到多个主机上
- prsync:通过 rsync 协议把文件高效地并行复制到多个主机上
- pslurp:把文件并行地从多个远程主机复制到中心主机上
- pnuke:并行地在多个远程主机上杀死进程
pssh配置
要求:执行pssh的机器务必要与远程机器有信任关系,即可以ssh免密码登录(ssh-copy-id)
IP列表文件内容格式[user@]host[:port]
如:root@127.0.0.1:22 (默认用户为root,默认端口为22,用户及端口为可选参数)
pssh帮助文档
- --version:查看版本
- --help:查看帮助,即此信息
- -h:主机文件列表,内容格式"[user@]host[:port]"
- -H:主机字符串,内容格式"[user@]host[:port]"
- -l:登录使用的用户名
- -p:并发的线程数【可选】
- -o:输出目录(将远程执行结果输出到指定目录,输出结果存入到对应主机名文件)【可选】
- -e:错误输入文件【可选】
- -t:TIMEOUT 超时时间设置,0无限制【可选】
- -i:每个服务器内部处理信息输出
- -P:打印出服务器返回信息
pssh Example
pssh -i -h hostsFile command
pssh -i -h -p 10 hostsFile command
pssh -i -H 127.0.0.1 command
pscp.pssh Example
作用:
- 传输文件到多个hosts,类似scp
pscp.pssh -h hostsFile localFile1 localFile2 remoteDir - 传输目录到多个hosts,需要添加
-r
参数
pscp.pssh -h hostsFile -r localDir1 localDir2 remoteDir
pslurp Example
作用:
- 从多台远程机器拷贝文件到本地 (只能下载到当前目录,不能在命令中跟指定的路径,建议cd到指定目录执行)
slurp -h hostsFile remoteFile ./ - 从多台远程机器拷贝目录到本地,需要添加
-r
参数
slurp -h hostsFile -r remoteFile ./
prsync Example
作用:使用rsync协议从本地计算机同步文件到远程主机
- 批量同步文件 (完全覆盖,远程机器文件会被替换)
rsync -r -h hostsFile localFile remoteFile - 批量同步目录 (将本机对应目录数据同步到远程机器上,远程机器上对于目录下多余的文件也会保留,不会删除多余文件)
rsync -r -h hostsFile -r localDir remoteDir