.txt ファイルには IP アドレスのリストがあります。例:
1.1.1.1
2.2.2.2
3.3.3.3
各IPアドレスの後にはサーバーがあり、各サーバーのポート22で実行されるSSHDがあります。すべてのサーバーがリストにあるわけではありませんknown_hosts
(私のPCではUbuntu 10.04 LTS / bash)。
これらのサーバーでコマンドを実行して出力を収集するにはどうすればよいですか?
理想的には、すべてのサーバーでコマンドを並列に実行したいと思います。
すべてのサーバーで公開鍵認証を使用します。
以下はいくつかの潜在的な落とし穴です。
- ssh は、指定されたサーバー SSH キーを自分の
known_hosts
ファイルに入れるように求めます。 - 指定されたコマンドは、出力が無効である可能性があることを示すゼロ以外の終了コードを返すことがあります。私はこれを実現しなければならない。
- たとえば、ネットワーク障害により特定のサーバーへの接続が確立されない場合があります。
- コマンドの実行に予想以上に時間がかかる場合、またはコマンドの実行中にサーバーにエラーが発生した場合は、タイムアウトが必要です。
サーバーはAIX / kshです(しかしそれは重要ではないと思います)。