psshを使用して、異なるコマンドで複数のサーバーを実行する方法は?


0

複数のリモートサーバーで分散システムをテストする必要があるため、マスターサーバーでpsshを使用して他のサーバーを制御します。ここでは、たとえば、異なるコマンドで複数のサーバーを実行する必要があります

サーバー201では、実行する必要があります

java -jar test.jar 9001 **.**.**.** 9001
java -jar test.jar 9001 **.**.**.** 9002

サーバー202で、実行する必要があります

java -jar test.jar 9001 **.**.**.** 9003
java -jar test.jar 9001 **.**.**.** 9004

サーバー203では、実行する必要があります

java -jar test.jar 9001 **.**.**.** 9005
java -jar test.jar 9001 **.**.**.** 9006

...

すべてのサーバー情報は、username @ server形式ですでにhosts.txtに保存されています。マスターサーバーでpsshを使用してコマンドを実行する方法は?

回答:


1

pssh 異なるサーバーでまったく同じコマンドを実行するために使用されます。この例では、異なるサーバーで異なるコマンドを実行することを示しています(コマンドの先頭はすべて同じですが、最後の数字は異なります)。

できることは、これらのコマンドを各サーバーのスクリプトファイルに入れて、各サーバーで同じスクリプトファイルが呼び出されるようにしてから、を使用することpssh -i -h hosts.txt script.shです。

例として、サーバー201に script.sh

#!/bin/sh
java -jar test.jar 9001 **.**.**.** 9001
java -jar test.jar 9001 **.**.**.** 9002

サーバー202に配置 script.sh

#!/bin/sh
java -jar test.jar 9001 **.**.**.** 9003
java -jar test.jar 9001 **.**.**.** 9004

次にscript.sh、コマンドを実行するユーザーの$ PATHに入力するか、スクリプトへの完全なパスを指定します。サーバーでスクリプトを実行可能にすることを忘れないでください。


はい、うまくいきます。ご協力ありがとうございます。
アンディ

また、別のサーバーですべてのプロセスを終了する場合、pnukeを使用しますが、psshを再度実行すると、ポート(9001-900x)がまだ使用されるため、別のサーバーで別のサーバーは便利?
アンディ

@Andi、別の質問として投稿してください。
ojs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.