使用 ssh 并在后台运行脚本

tes*_*787 4 ssh

我在每台服务器上运行一个大约需要 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)

它没有任何区别。我感谢您可以与我分享的任何信息。

Eri*_*ouf 6

你可以ssh通过-f这样做来告诉进入后台

for i in $(cat mylist); do
    ssh -f root@$i /home/run_command
done
Run Code Online (Sandbox Code Playgroud)

正如 Alex Stragies 指出的那样,这将允许您根据需要输入主机的密码,但如果您有一个很长的列表,希望您会为了自己而使用公钥身份验证。