リモート管理スクリプトを作成する

リモート管理スクリプトを作成する

さまざまなサーバーに接続してコマンドを実行するスクリプトをローカルで実行できるようにする必要があります。これを実現する最善の方法は何ですか?

答え1

個人的にはカピストラノ使いやすく、Ruby で書かれており、面倒な作業はすべてすでに行われています。

Wikipediaより:

Capistrano は、SSH 経由で複数のリモート マシン上でコマンドを並行して実行するためのユーティリティおよびフレームワークです。

答え2

を使用してコマンドを実行できますssh hostname command。実行する必要があるスクリプト全体がある場合は、まず scp を使用してリモート ホストに転送し、次に ssh を使用して実行します。

scp script.sh host:script.sh
ssh host ./script.sh

答え3

次のような構成管理を使うのはどうでしょうか傀儡またはシェフ? これは 1 つのスクリプトだけの場合は少しやりすぎかもしれませんが、そのようなスクリプトが複数必要な場合は検討する価値があるかもしれません。

答え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/) も優れた選択肢です。

関連情報