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

Bash 如何在许多远程服务器上运行快速脚本?,bash,shell,ssh,cloud,Bash,Shell,Ssh,Cloud,我需要在十几台服务器上重新启动apache。我可以登录到每个脚本并执行它,或者我可以在第一个脚本上使用一个脚本为我执行它。你能帮我吗 服务器1可以通过已知主机访问所有其他服务器 我可以手动运行此: ssh user@server2 service httpd restart exit ... ssh user@server100 service httpd restart exit 如何编写脚本从服务器1运行以重新启动所有服务器 for server in user@server2 use

我需要在十几台服务器上重新启动apache。我可以登录到每个脚本并执行它,或者我可以在第一个脚本上使用一个脚本为我执行它。你能帮我吗

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

我可以手动运行此:

ssh user@server2
service httpd restart
exit

...

ssh user@server100
service httpd restart
exit
如何编写脚本从服务器1运行以重新启动所有服务器

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

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

pdsh-R exec server[2-100]服务httpd restart

谢谢。这一行程序将比这个用例更方便。
for I in $(seq 2 100) ; 
do 
   ssh user@server$I 'service httpd restart' ;
done