我正在每台服务器上运行大约需要 20 分钟的作业。但是,所有服务器都可以同时运行此作业。这是我的工作:
#cat mylist
server1
server2
...
...
#for i in `mylist`; do ssh root@$i /home/run_command ; done
它工作正常,但必须先完成每台服务器上的工作,然后才能转移到下一台服务器。
我尝试添加&
for i in `mylist`; do ssh root@$i /home/run_command & ; done
这没有什么区别。我感谢您可以与我分享的任何信息。
答案1
你可以通过这样做ssh
进入后台-f
for i in $(cat mylist); do
ssh -f root@$i /home/run_command
done
正如 Alex Stragies 指出的那样,这将允许您根据需要输入主机的密码,但如果您有一个很长的列表,希望您会为了自己的利益而使用公钥身份验证。