如何在不保持登录的情况下运行 rsync?

如何在不保持登录的情况下运行 rsync?

我想运行以下 rsync 命令将文件夹从远程服务器传输到我当前的服务器。sudo -r -a -v -e 'ssh -p portnum' username@serverip:/home/path/* /home/path此目录的大小和结构都相当大,传输需要一些时间。我不想让计算机一直处于打开状态并打开 PuTTY 窗口,而是想运行一个命令,该命令在我关闭窗口并关闭 PC 后继续执行。

我尝试过使用前缀,nohup但没有效果。我还有什么其他选择?

答案1

在命令中运行GNU 屏幕。 基本上:

  1. 安装屏幕:$ sudo apt-get install screen
  2. 运行屏幕:$ screen...此时,您将拥有一个在屏幕内运行的shell。
  3. 运行您的命令。
  4. Ctrl- Ad,这将使您脱离屏幕会话并且您的命令将继续运行。

当你想要重新连接时,只需以拥有屏幕会话的用户身份通过​​ ssh 登录,然后:

$ screen -RD

答案2

您可以安装并运行像 screen 这样的程序,或者将该命令放入 bash 脚本中并在 cron 上运行一次。

相关内容