編寫遠端管理腳本

編寫遠端管理腳本

我需要能夠在本地運行一個腳本,該腳本將連接到各種伺服器並在它們上運行命令。實現這一目標的最佳方法是什麼?

答案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 是更好的組態管理選項。如果您想以互動方式向各種 shell 發送命令,clusterm (http://sourceforge.net/projects/clusterm/) 也是一個不錯的選擇。

相關內容