批量管理服务器工具:pssh

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

pssh 包安装 5 个实用程序:
pssh 在多个主机上并行地运行命令。
pscp 把文件并行地复制到多个主机上。
prsync 通过 rsync 协议把文件高效地并行复制到多个主机上。
pslurp 把文件并行地从多个远程主机复制到中心主机上。
pnuke 并行地在多个远程主机上杀死进程。

1.安装

[size=1em]

1


2


3


4

wget http://parallel-ssh.googlecode.com/files/pssh-2.2.2.tar.gz


tar zxvf pssh-2.2.2.tar.gz


cd pssh-2.2.2


python setup.py install




2.简单使用

在使用之前需要配置密钥访问,如下:

#ssh-keygen #一直回车

#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.16.X #复制公钥到远端服务器

ps.如果端口不是默认22 ,需要使用:ssh-copy-id -i .ssh/id_rsa.pub  ”-p 4567 yin@192.168.16.X

创建servers.txt文件:

192.168.16.1
192.168.16.2
luby@192.168.16.3:4567

[root@orkaudiobackup ~]# pssh -h servers.txt -l root -P uptime
192.168.16.X: 18:32:40 up 3 days, 7:07, 1 user, load average: 0.00, 0.00, 0.00
[1] 18:36:27 [SUCCESS] 192.168.16.X

更多用法查看:

[size=1em]

1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29

[root@orkaudiobackup ~]# pssh --help


usage: pssh [OPTIONS] command [...]



options:


  --help                show this help message and exit


  -h HOST_FILE, --hosts=HOST_FILE


                        hosts file (each line "[user@]host[:port]")


  -H HOST_STRING, --host=HOST_STRING


                        additional host entries ("[user@]host[:port]")


  -l USER, --user=USER  username (OPTIONAL)


  -p PAR, --par=PAR     max number of parallel threads (OPTIONAL)


  -o OUTDIR, --outdir=OUTDIR


                        output directory for stdout files (OPTIONAL)


  -e ERRDIR, --errdir=ERRDIR


                        output directory for stderr files (OPTIONAL)


  -t TIMEOUT, --timeout=TIMEOUT


                        timeout (secs) (0 = no timeout) per host (OPTIONAL)


  -O OPTION, --option=OPTION


                        SSH option (OPTIONAL)


  -v, --verbose         turn on warning and diagnostic messages (OPTIONAL)


  -A, --askpass         Ask for a password (OPTIONAL)


  -x ARGS, --extra-args=ARGS


                        Extra command-line arguments, with processing for


                        spaces, quotes, and backslashes


  -X ARG, --extra-arg=ARG


                        Extra command-line argument


  -i, --inline          inline aggregated output for each server


  -I, --send-input      read from standard input and send as input to ssh


  -P, --print           print output as we get it




3.其他几个命令
pscp用法示例:

用代理机当前目录下面的get.sh分发到服务器列表中的/tmp目录下,名字为get.sh

[size=1em]

1


2


3


4


5


6


7


8


9


10


11

[root@orkaudiobackup ~]# pscp  -h servers.txt get.sh /tmp/get.sh


[1] 21:30:09 [SUCCESS] 192.168.16.145


[2] 21:30:09 [SUCCESS] yin@192.168.16.1:4567


[3] 21:30:09 [SUCCESS] 192.168.16.147


[root@orkaudiobackup ~]# pssh -h servers.txt -P ls -al /tmp/get.sh


192.168.16.147: -rwxr-xr-x 1 root root 348 Sep  1 21:26 /tmp/get.sh


[1] 21:31:34 [SUCCESS] 192.168.16.147


192.168.16.145: -rwxr-xr-x 1 root root 348 Sep  1 21:30 /tmp/get.sh


192.168.16.190: -rwxr-xr-x 1 yin yin 348 Sep  1 21:29 /tmp/get.sh


[2] 21:31:34 [SUCCESS] 192.168.16.145


[3] 21:31:34 [SUCCESS] yin@192.168.16.1:4567




pslurp用法示例:

把服务器列表中的/tmp/get.sh全部复制到代理 机的/tmp目录下面

[size=1em]

1


2


3

[root@orkaudiobackup ~]# ll /tmp/192.168.16.190


total 4


-rwxr-xr-x 1 root root 348 Sep  1 21:40 get1.sh




4.写完收工,晚安!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值