他のパラメータを使用してリモートノードでパラレルコマンドを実行するには?

他のパラメータを使用してリモートノードでパラレルコマンドを実行するには?

複数のサーバーに異なるパラメータを提供しながら、複数のUbuntuサーバーでアプリケーションを並列に実行する必要があります。インターネットを検索しようとしましたが、考えられる解決策が見つかりませんでした。私はssh/pdsh/parallelを試しましたが、成功しませんでした。

シナリオをより詳細に説明するために、以下は3つのサーバーすべてで並列に実行する必要がありますが、他のパラメータを使用して実行する必要がある機能しないpdsh例を含みます。script.shちなみに、私はすでに公開/プライベートSSHキー(パスワードログインなし)を持っています。

pdsh -w server1,server2,server3 -l username script.sh args

ここで、argsserver1は1でなければならず、server2は2でなければなりません。

pdsh誰もがUbuntuのツールや他の利用可能なツールを使用してこれを達成するのに役立つことができれば幸いです。

答え1

あなたはそれを使用することができますGNUバージョンの並列性

たとえば、を介してechoパラメータを使用して1呼び出すには、10各コマンドをecho次のいずれかに渡します。server.example.comserver2.example.net

seq 10 | parallel --sshlogin server.example.com,server2.example.net echo

関連情報