Fork me on GitHub

轻量级自动化运维工具 ---pssh&pscp.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源中,配置yum源可以参考这个博客:https://www.cnblogs.com/alexlv/p/15252346.html
  一、安装pssh包
yum install pssh -y

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
  -h:主机文件列表,内容格式(将需要控制的主机IP地址存放在文件中)
[11:14:31 root@localhost ~]#cat host.txt 
192.168.1.6
192.168.1.7
[11:17:58 root@localhost ~]#pssh -h host.txt -A -i "sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config"

多台机器执行结果重定向到 本机的文件夹里

 

pssh -h host.txt -A -i -o /data/host.log hostname

 

多台机器重定向到 本机的文件,有几台机器就生成几个文件

pssh -h host.txt -i -A -o /data/ hostname

批量发送指令(指定用户)

pssh -H  root@192.168.1.7 -i -A  setenforce 1

将标准错误和标准正确重定向都保存至/app目录下

pssh -H 192.168.1.10 -o /app -e /app -i “hostname

 

 pscp.pssh

 pscp.pssh功能是将本地文件批量复制到远程主机 

  pscp-pssh选项
    -v 显示复制过程
    -r 递归复制目录
 
将本地的/data/host.log/192.168.1.6 文件复制到/data/ 
pscp.pssh -A -H 192.168.1.6 /data/host.log/192.168.1.6 /data/

将本地的/data/host.log/192.168.1.6 文件复制到 host.txt 文件里IP对应主机的data上

pscp.pssh -A -h host.txt /data/host.log/192.168.1.6 /data/

将本地多个文件批量复制到/data/ 

pscp.pssh -A -H 192.168.1.6 /data/host.log/192.168.1.6 /data/host.log/192.168.1.7 /data/ 

将本地目录批量复制到/data/目录

pscp.pssh -A -H 192.168.1.6 -r /data/host.log/ /data/

 

 pslurp命令

  pslurp功能是将远程主机的文件批量复制到本地

  pslurp选项

    -L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称

    -r 递归复制目录

批量下载目标服务器的passwd文件至/data下,并更名为user

pslurp -A -H 192.168.1.6 -L /data /etc/passwd user 

#在data下生成文件夹名为对应IP地址的文件夹下的user

 

posted @ 2021-09-13 13:15  Alex-Lzy  阅读(659)  评论(0编辑  收藏  举报