質問: linux-一度に多くのマシンで同じコマンドを実行する 私はたまに同じコマンドを実行する必要がある約12のlinuxボックスを持っています。これを行うには、各マシンにログオンしてコマンドを1つずつ実行するより簡単な方法(または自動化された方法)がありますか?これは常に同じコマンドではなく、事前設定された時間でもないため、cronのようなツールには理想的ではありません。
回答: 他の回答で言及されているコマンドを使用した例をいくつか示します。 pdsh 数値の範囲をとることができ、最初にホスト名が出力されますが、実際にはmaintainのようです。最も単純なバージョン:pdsh -w hostname echo done出力:hostname: done より複雑な例:pdsh -w username@hostname[7-8],username@otherhost "sleep 5 && echo done"出力:hostname8: done hostname7: done otherhost: done mac:brew install pdsh dsh dsh -m user@host,user@host --remoteshell ssh --concurrent-shell -- "sleep 5 && echo done"リモートシェルの設定が必要です。それ以外の場合は、「rsh」が使用されますが、使用できない場合もあります。mac:brew install dsh pssh pssh -i -h user@host -h user@host "sleep 5 && echo done"また、オプションで、ファイルからマシンのリストを取得することもできます。ここに例を追加してください。コミュニティウィキです。mac:brew install pssh クラスターssh クラスターssh(「macのみのバージョン」には明らかに2つのバージョンがあります here )は実際に「実際のターミナル」を開き、その下部に大きなターミナルがあり、他のすべてに入力を送信します。つまり、複数に送信するuiのようなものです。例:csshx hostname0[1-2] hostname3次に赤いボックスに入力すると、ポップアップする各ホストウィンドウに、ホストごとに1つ表示されます。mac:brew install csshx(古いバージョンですが、まだ機能します)brew install ansible fwiwもあります