我需要通过 ssh 在后台复制一个大文件(大约 30 Gb)。如果我这样做,然后断开连接,文件就会被成功复制:
ssh server
# cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;
但如果我这样做:
ssh server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
它等待直到文件复制完成。为什么?
答案1
尝试添加-f
:
ssh -f server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
(已测试并对我有用。)
来自手册页:
-f 要求 ssh 在命令执行前进入后台。如果 ssh 要求输入密码或口令,但用户希望在后台执行,则此功能很有用。这意味着 -n。在远程站点启动 X11 程序的推荐方法是使用类似 ssh -f host xterm 的命令。