複数のサーバーに異なるパラメータを提供しながら、複数のUbuntuサーバーでアプリケーションを並列に実行する必要があります。インターネットを検索しようとしましたが、考えられる解決策が見つかりませんでした。私はssh/pdsh/parallelを試しましたが、成功しませんでした。
シナリオをより詳細に説明するために、以下は3つのサーバーすべてで並列に実行する必要がありますが、他のパラメータを使用して実行する必要がある機能しないpdsh
例を含みます。script.sh
ちなみに、私はすでに公開/プライベートSSHキー(パスワードログインなし)を持っています。
pdsh -w server1,server2,server3 -l username script.sh args
ここで、args
server1は1でなければならず、server2は2でなければなりません。
pdsh
誰もがUbuntuのツールや他の利用可能なツールを使用してこれを達成するのに役立つことができれば幸いです。
答え1
あなたはそれを使用することができますGNUバージョンの並列性
たとえば、を介してecho
パラメータを使用して1
呼び出すには、10
各コマンドをecho
次のいずれかに渡します。server.example.com
server2.example.net
seq 10 | parallel --sshlogin server.example.com,server2.example.net echo