リモート管理スクリプトの作成

リモート管理スクリプトの作成

さまざまなサーバーに接続し、そのサーバーでコマンドを実行するスクリプトをローカルで実行できる必要があります。これを達成するための最良の方法は何ですか?

答え1

個人的にカピストラーノ。ユーザーフレンドリーでRubyで書かれており、あなたのためにすべての難しい作業を完了しました。

ウィキペディアから:

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/)は、さまざまなシェルにインタラクティブにコマンドを送信したい場合にも良い選択です。

関連情報