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