前面已经介绍了怎么用脚本实现了对一些服务器的远程控制和文件传输,那么有没工具可以类似功能呢?
PSSH提供OpenSSH和相关工具的并行版本。包括pssh,pscp,prsync,pnuke和pslurp。该项目包括psshlib,可以在自定义应用程序中使用。
pssh是Python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它。
项目地址: https://code.google.com/archive/p/parallel-ssh/
前提条件:注意需要安装 python 2.4 或以上版本
==========yum安装========== yum install pssh ==========源码安装========== wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz tar -xvf pssh-2.3.1.tar.gz cd pssh-2.3.1/ python setup.py build && python setup.py install
pssh [OPTIONS] command […]
选项:
常用选项:-H 、-h 、-i、
使用yum安装后,只能使用pssh,但是编译安装后会包括其他命令也安装了(pscp prsync pnuke pslurp)
pssh:在远程多台主机上并行运行命令
Example: pssh -h host.txt -A date
pscp :把文件并行复制到多台远程主机上
Example: pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt
prsync:使用rsync协议本地文件同步到远程多台主机上。
Example: prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo
pnuke:在远程多台主机上并行killall某一进程
Example: pnuke -h hosts.txt -l irb2 JAVA
pslurp:把文件从远程多台主机上复制到本地主机上
Example: pslurp -h hosts.txt -L /tmp/outdir -l irb2 /home/irb2/foo.txt foo.txt