运维自动化轻量级工具pssh

介绍

pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。

安装pssh

在CentOS系统环境下,介绍yum的安装和源码安装的方式:

  • yum方法
yum install pssh
  • 编译安装
wget https://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
tar xf pssh-2.3.1.tar.gz
cd pssh-2.3.1/
python setup.py install

选项

--version:查看版本
-h:主机文件列表,内容格式”[user@]host[:port]” 
-H:主机字符串,内容格式”[user@]host[:port]” 
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输入文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-OSSH的选项-v:详细模式
-A:手动输入密码模式
-x:额外的命令行参数使用空白符号,引号,反斜线处理
-X:额外的命令行参数,单个参数模式,同-x -i:每个服务器内部处理信息输出
-P:打印出服务器返回信息

Pssh示例(前提是基于key验证)

获取每台服务器的uptime:

# pssh -h ip.txt -i uptime
[1] 11:15:03 [SUCCESS] Mar.mars.he
11:15:11 up 4 days, 16:25,  1 user,  load average: 0.00, 0.00, 0.00
[2] 11:15:03 [SUCCESS] Jan.mars.he
11:15:12 up 3 days, 23:26,  0 users,  load average: 0.00, 0.00, 0.00
[3] 11:15:03 [SUCCESS] Feb.mars.he
11:15:12 up 4 days, 16:26,  2 users,  load average: 0.08, 0.02, 0.01

获取每台服务器的SElinux状态

[root@centos7 ~]#pssh -H 172.18.101.93 getenforce
[1] 21:44:31 [SUCCESS] 172.18.101.93
[root@centos7 ~]#pssh -H 172.18.101.93 -i getenforce
[1] 21:44:34 [SUCCESS] 172.18.101.93
Disabled
[root@centos7 ~]#pssh -H 172.18.101.93 172.18.101.94 -i getenforce
[1] 21:44:34 [SUCCESS] 172.18.101.93
Disabled
[2] 21:44:34 [SUCCESS] 172.18.101.94
Disabled
更方便ip地址写到文件中(ip.txt放着ip地址)
[root@centos7 ~]#pssh -h ip.txt -i getenforce

PSCP.PSSH命令

pscp.pssh功能是将本地文件批量复制到远程主机
pscp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] local remote
Pscp-pssh选项
    -v 显示复制过程
    -a 复制过程中保留常规属性
    -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.PSSH命令

pslurp.pssh功能是将远程主机的文件批量复制到本地
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-pssh选项
-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称
-r 递归复制目录
批量下载目标服务器的passwd文件至/app下,并更名为user
pslurp -H 192.168.1.10 -L /app/ /etc/passwd user
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值