pssh並列実行リモート操作

2092 ワード

一、pssh概要
psshは元の名前はparallel-sshで、下層はpythonで書き、python解釈器とコアライブラリのサポート(中心ホストにpythonをインストールすればよい)が必要で、複数のホスト上でリモートコマンドライン操作を並列に実行することができ、parallel-sshツールの実行時に最大32のプロセスを生成し、小ロット管理ホストに適用し、いくつかの並列バッチ化コマンドライン操作を実行する
二、psshのインストール
$ wget https://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
$ tar xf pssh-2.3.1.tar.gz
$ cd pssh-2.3.1/
$ sudo python setup.py install

三、psshキットの使用
psshツールパッケージには、pssh、pscp、prsync、pslurp、pnukeの5つのコマンドラインツールがあります.
センタホストがpsshツールパッケージを使用する場合は、sshが管理されているホストを信頼する必要があります.
1、psshマルチホスト並列実行コマンド(ip.dataのフォーマットはroot@ip:port)
$ sudo pssh -P -h ip.data uptime
#           uptime  
172.16.2.225:  14:54:37 up  3:21,  1 user,  load average: 0.00, 0.01, 0.05
[1] 14:54:39 [SUCCESS] 172.16.2.225
172.16.2.226:  14:54:37 up  3:21,  1 user,  load average: 0.00, 0.01, 0.05
[2] 14:54:39 [SUCCESS] 172.16.2.226
172.16.2.220:  14:54:36 up  3:21,  1 user,  load average: 0.00, 0.01, 0.05
[3] 14:54:39 [SUCCESS] 172.16.2.220

2、pscpはファイルを複数のホストに並列にコピーする(一方向、サーバー側はクライアント側)
$ sudo pscp -h ip.data -l root zabbix.php /tmp
#    zabbix.php          /tmp                       
[1] 15:03:57 [SUCCESS] 172.16.2.225
[2] 15:03:57 [SUCCESS] 172.16.2.220
[3] 15:03:57 [SUCCESS] 172.16.2.226

3、prsyncはrsyncプロトコルを使用してローカルディレクトリを複数のホストに同期する
$ sudo prsync -r -h ip.data -l root zatree /tmp
#     zatree            /tmp   
[1] 14:47:43 [SUCCESS] 172.16.2.220
[2] 14:47:43 [SUCCESS] 172.16.2.226
[3] 14:47:43 [SUCCESS] 172.16.2.225

4、pslurpリモートホスト上のファイルをローカルにコピーする(転送ファイルのみ)
$ sudo pslurp -h ip.data -L /data -l root /tmp/ikkitest.file ikki.file
#       /tmp/ikkitest.file        /data   ,    ikki.file
[1] 13:34:24 [SUCCESS] 172.16.2.220
[2] 13:34:24 [SUCCESS] 172.16.2.225
[3] 13:34:24 [SUCCESS] 172.16.2.226

5、pnuke並列にリモートホストでプロセスを殺す
$ sudo pnuke -h ip.data -l root zabbix
#         zabbix  (ps    )
[1] 15:10:56 [SUCCESS] 172.16.2.220
[2] 15:10:56 [SUCCESS] 172.16.2.225
[3] 15:10:56 [SUCCESS] 172.16.2.226