我需要将文件从远程服务器 A 传输到服务器 B(使用终端(putty)登录到 B),但我还需要在后台执行此操作(这样我就可以关闭终端并离开)。我尝试过的是使用 putty 登录到我的目标机器 B,运行 rsync 命令
rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
但是当我关闭putty时,该过程也被中断。
答案1
屏幕呢?
screen - 带有 VT100/ANSI 终端仿真的屏幕管理器
用屏幕打开终端。
运行你的命令,你可以关闭终端。
如有必要,您可以重新连接。
答案2
此类任务的默认选择是旧的nohup 命令;nohup
命令前面的前缀将使命令即使在关闭终端后仍然继续:
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
如果您在 rsync 完成之前关闭窗口,则其输出的其余部分将写入nohup.out
您启动 rsync 的目录中指定的文件中。
但是,如果启动 rsync 后,您还希望在注销之前执行其他操作,请&
在命令行末尾附加以使其在后台运行。在这种情况下,您也需要将其输出重定向到文件,因为 rsync 会发出会干扰后续命令的输出:
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/ > rsync.log 2>&1 &