
さまざまなサーバーに接続してコマンドを実行するスクリプトをローカルで実行できるようにする必要があります。これを実現する最善の方法は何ですか?
答え1
個人的にはカピストラノ使いやすく、Ruby で書かれており、面倒な作業はすべてすでに行われています。
Wikipediaより:
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/) も優れた選択肢です。