it-swarm.cn

我如何暂停/恢复rsync

如何暂停正在运行的rsync?

我第一次 Ctrl+C 杀死它并使用-P标志再次运行。这容易损坏当前文件传输吗?

第二次,我只是让MacOS入睡(通过合上盖子)。查看正在运行的进程,我可以看到状态为“ S”的2(不确定原因)。

尝试使用

kill -SIGCONT

恢复该过程,但没有效果。

52
qnoid

您可以通过发送TSTP(礼貌)或STOP(强制)信号来暂停任何程序。在终端上,运行rsync,按 Ctrl+Z 发送TSTP。使用终端中的fgbg命令或CONT信号恢复。

杀死rsync进程并再次运行整个进程很安全;它将从中断处继续。这可能会有点效率低下,尤其是如果您尚未传递--partial(包含在-P中),因为rsync将再次检查所有文件并处理被其中断的文件刮。

选项的特殊组合可能会导致某些文件无法正确同步,也许--inplace与其他文件同步,但是我认为没有单个选项会导致这种情况。

如果断开笔记本电脑的连接,然后在其他地方重新连接,它可能会获得其他IP地址。然后,rsync使用的TCP连接将被切断,因此您必须将其杀死并重新启动。如果您挂起笔记本电脑并且TCP连接超时,也会发生这种情况。超时最终将过滤到应用程序级别,但是可能需要一段时间。按下即可安全 Ctrl+C 然后再次运行rsync。

66

Ctrl+Z 暂停,并:

$ fg

继续使用

$ jobs

看到暂停的工作; bg [number]为它们设置背景; fg [number]将其前景。

22
gauteh

rsync--partial标志。然后它将保留部分传输并在启动时恢复部分文件。

8
bahamat

此处提到的人使用--partial标志有效,但需要提及的是,它仅在恢复时使用--append--append-verify标志时恢复。

--partial创建尚未完成同步过程的文件的隐藏文件,中断同步时将保留该文件。在继续使用--append后,它将继续完成文件,否则,当不使用--append时,不完整的隐藏文件将保留并保持不完整。

结论:您可以使用来中断rsync --partial Ctrl + C 如果在恢复时使用rsync --append

(来源: rsync能否在中断后恢复? 于2016年4月5日检索到)

5
Mehdi Nellen