SSH - 在后台运行命令并断开连接

art*_*tem 4 linux ssh

我需要通过 ssh 在后台复制一个大文件(大约 30 Gb)。如果我这样做,然后断开连接,则复制得很好:

ssh server
# cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

ssh server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
Run Code Online (Sandbox Code Playgroud)

它等到文件复制。为什么?

zie*_*mer 5

尝试添加-f

ssh -f server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
Run Code Online (Sandbox Code Playgroud)

(经过测试并为我工作。)

手册页

-f 在命令执行之前请求 ssh 进入后台。如果 ssh 要求输入密码或密码短语,但用户希望在后台使用,这将很有用。这意味着 -n。在远程站点启动 X11 程序的推荐方法是使用类似 ssh -f host xterm 的方法。