如何在许多远程服务器上运行快速脚本?

时间:2012-06-05 16:24:05

标签: bash shell ssh cloud

我需要在十几台服务器上重启apache。我可以登录每一个并执行它,或者我可以在第一个脚本上为我做一个脚本。你能救我一下吗?

Server 1可以通过已知主机访问所有其他服务器。

手动我可以运行:

ssh user@server2
service httpd restart
exit

...

ssh user@server100
service httpd restart
exit

如何编写此脚本以从服务器1运行以重新启动所有服务器?

3 个答案:

答案 0 :(得分:4)

for I in $(seq 2 100) ; 
do 
   ssh user@server$I 'service httpd restart' ;
done

答案 1 :(得分:2)

for server in user@server2 user@server3; do
    ssh $server service httpd restart
done

如果您想生成主机名,请查看seq实用程序。

答案 2 :(得分:1)

pdsh -R exec server[2-100] service httpd restart