
さまざまなサーバーに接続し、そのサーバーでコマンドを実行するスクリプトをローカルで実行できる必要があります。これを達成するための最良の方法は何ですか?
答え1
個人的にカピストラーノ。ユーザーフレンドリーでRubyで書かれており、あなたのためにすべての難しい作業を完了しました。
ウィキペディアから:
Capistranoは、SSHを介して複数のリモートコンピュータでコマンドを並列に実行するためのユーティリティであり、フレームワークです。
答え2
実行コマンドを使用できますssh hostname command
。フルスクリプトを実行する必要がある場合は、まずscpを使用してリモートホストに送信し、sshを使用して実行します。
scp script.sh host:script.sh
ssh host ./script.sh
答え3
答え4
高速bash 'for'ループは、おそらく次のように最も簡単です。
for h in host1 host2 host3
do
echo $h
ssh user@$h "ps -ef"
done
もちろん、cfengine/puppet/chef/capistranoはより良い設定管理オプションです。 Clusterm(http://sourceforge.net/projects/clusterm/)は、さまざまなシェルにインタラクティブにコマンドを送信したい場合にも良い選択です。