2016-10-21 5 views
1

sshloginファイルにサーバー名を返す平行してください:GNU私はsshloginファイルの助けを借りて、GNUパラレルを使用して複数のリモートサーバー上でコマンドを実行し

hostfile: RUNNING, pid 1234567 

seq 3 | parallel --sshloginfile hostfile "/etc/sin/bin/daemon status" 

出力は次のようになります

ファイルhostfileには以下のようなサーバのリストが含まれていますか?

server1.finehost.prod 
server2.finehost.prod 
server3.finehost.prod 

私の質問は:

ホスト名を表示する方法はあります出力はそのように見えるように:

server1.finehost.prod: RUNNING, pid 12345 
server2.finehost.prod: RUNNING, pid 666 
server3.finehost.prod: STOPPED 

感謝;)


注: 私は、psshやsimilarsなどのサーバーに余分なツールをインストールする権限がありません。

答えて

1

seq 3を使用する理由は不明です。それが必要でない場合、これは動作します:

parallel --sshloginfile hostfile --tag --nonall "/etc/sin/bin/daemon status" 
+0

ニース!ありがとう、これは本当に仕事です! xargsのようなパイプを使って作業する必要があると私は考えました。マニュアルは多少混乱します。 私は実際には、これらのサーバにインストールされていないpsshの代わりとして並列に並行しています。 – runlevel0

+1

'--nonall'はちょっと特殊な方法です:引数をとらないことです。チュートリアル 'man parallel_tutorial'を1時間歩くことを考えてみましょう。あなたのコマンドラインはあなたのためにそれを愛するでしょう。 –

関連する問題