轻量级自动化运维工具
所有工具都包含在EPEL源中-----也就是得安装
且这些工具是基于key下实现才有意义
pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复制–基于pacp,提供了基于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
1.pssh工具
用于远程执行命令
格式: pssh 选项 主机ip 命令
选项如下:
–version:查看版本
-h:主机多个主机批量处理将主机放到文件里面,内容格式”[user@]host[:port]”
-H:主机单个主机,内容格式”[user@]host[:port]”
-A:手动输入密码模式
-i:每个服务器内部处理信息输出 跟 命令
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:正确输出的文件目录【可选】
-e:错误输出文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-P:打印出服务器返回信息
-v:详细模式

两台主机不支持-H 第二个主机的密码不支持输入

多台主机—写文件,用-h 调用文件(前提是 密码必须一样)

所以要实现key验证pssh才有实际意义
实现key验证就不需要-A选项

示例:前提都有key验证
通过pssh批量关闭seLinux
pssh -H root@192.168.1.10 -i
‘sed -i "s/^SELINUX=.*/SELINUX=disabled/" /etc/selinux/config’
批量发送指令
pssh -H root@192.168.1.10 -i setenforce 0
pssh -H wang@192.168.1.10 -i hostname
当不支持ssh的key认证时,通过 -A选项,使用密码认证批量执行指令
pssh -H wang@192.168.1.10 -A -i hostname
将标准错误和标准正确重定向都保存至/app目录下
pssh -H 192.168.1.10 -o /app -e /app -i “hostname”

pscp.pssh命令
pscp.pssh
功能是将本地文件批量复制到远程主机
pscp-pssh选项
-v 显示复制过程
-r 递归复制目录
将本地curl.sh 复制到/app/目录
pscp.pssh -H 192.168.1.10 /root/test/curl.sh /app/
pscp.pssh -h host.txt /root/test/curl.sh /app/
将本地多个文件批量复制到/app/目录
pscp.pssh -H 192.168.1.10 /root/f1.sh /root/f2.sh /app/
将本地目录批量复制到/app/目录
pscp.pssh -H 192.168.1.10 -r /root/test/ /app/


pslurp命令
pslurp功能是将远程主机的文件批量复制到本地
remote local(本地名)
pslurp选项
-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称
-r 递归复制目录
批量下载目标服务器的passwd文件至/app下,并更名为user
pslurp -H 192.168.1.10 -L /app /etc/passwd user


本文介绍了轻量级自动化运维工具pssh、pscp.pssh和pslurp的使用,这些工具用于在多台服务器上并行执行命令和文件传输。pssh支持批量关闭seLinux,pscp.pssh可实现文件的批量复制,而pslurp则能将远程文件批量下载到本地。所有工具均依赖于SSH的key验证,以避免手动输入密码。文章提供了详细的命令示例,展示了如何在不同场景下有效地利用这些工具。
897

被折叠的 条评论
为什么被折叠?



