
我需要能夠在本地運行一個腳本,該腳本將連接到各種伺服器並在它們上運行命令。實現這一目標的最佳方法是什麼?
答案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/) 也是一個不錯的選擇。