红联Linux门户
Linux帮助

Linux批量远程管理pssh

发布时间:2016-02-10 15:50:31来源:linux网站作者:李星

pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具。适合一次性向集群大量服务器发送相同指令(并观察输出)


使用前提

主机连接远程主机可以通过ssh密钥无密码连接


1.下载

下载页面:https://code.google.com/archive/p/parallel-ssh/downloads

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/parallel-ssh/pssh-2.3.1.tar.gz


2.安装

tar -zxvf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py build
python setup.py install

如果是 redhat (或者CentOS)也可以用yum安装

yum install -y pssh


3.使用
3.1 介绍pssh参数

-h 执行命令的远程主机列表  或者 -H user@ip:port  文件内容格式[user@]host[:port]

-l 远程机器的用户名

-p 一次最大允许多少连接

-o 输出内容重定向到一个文件

-e 执行错误重定向到一个文件

-t 设置命令执行的超时时间

-A 提示输入密码并且把密码传递给ssh

-O 设置ssh参数的具体配置,参照ssh_config配置文件

-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来

-X 同-x 但是一次只能传递一个命令

-i 显示标准输出和标准错误在每台host执行完毕后

-I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入

3.2 介绍软件包内其他命令

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


4.操作实例
4.1 服务器IP配置 文件resin.coupons-web.hosts内容如下:

10.10.12.37
10.10.12.38

4.2 pssh远程执行命令:whoami   如下:

[reader@pay-monitor-online001-bjdx hosts]$ pssh -h resin.coupons-web.hosts  -P  'whoami'
10.10.12.37: reader
[1] 16:00:09 [SUCCESS] 10.10.12.37
10.10.12.38: reader
[2] 16:00:09 [SUCCESS] 10.10.12.38

4.3 pscp 把文件并行地复制到多个主机上

将本机readme.txt 上传到 多个主机上 /tmp/

[reader@pay-monitor-online001-bjdx hosts]$ pscp -h resin.coupons-web.hosts readme.txt /tmp/
[1] 16:03:20 [SUCCESS] 10.10.12.37
[2] 16:03:20 [SUCCESS] 10.10.12.38

4.4 将文件从远程主机复制到本地,和pscp方向相反:

将远程主机文件/tmp/readme.txt 复制到本地主目录 ~/下文件 readme.txt

-L  指定本机目录

[reader@test hosts]$ pslurp -h resin.coupons-web.hosts  -L ~/  /tmp/readme.txt  readme.txt
[1] 16:17:39 [SUCCESS] 10.10.12.37
[2] 16:17:39 [SUCCESS] 10.10.12.38


本文永久更新地址:http://www.linuxdiyf.com/linux/17991.html