无需控制台即可从远程计算机传输文件

无需控制台即可从远程计算机传输文件

我需要将文件从远程服务器 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 &

相关内容