如何暂停/恢复 rsync

如何暂停/恢复 rsync

如何暂停正在运行的 rsync?

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

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

尝试使用

kill -SIGCONT

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

答案1

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

终止 rsync 进程并再次运行整个进程是安全的;它将从中断处继续。它可能有点低效,特别是如果您还没有通过--partial(包含在-P)中,因为rsync将再次检查所有文件并从头开始处理被中断的文件。

可能存在不寻常的选项组合,导致某些文件无法正确同步,也许--inplace与其他文件同步,但我认为没有任何一个选项会导致这种情况。

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

答案2

Ctrl+Z暂停,并且:

$ fg

继续,使用

$ jobs

查看暂停的工作;bg [number]为它们添加背景;fg [number]将其置于前台。

答案3

这里的人提到了使用--partial标志有效,但是需要提到的是,只有在恢复时使用--append或标志时它才会恢复。--append-verify

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

结论:如果在恢复时使用,则可以中断rsync --partial使用Ctrl+Crsync --append

(来源:rsync中断后还能恢复吗?检索日期:2016 年 4 月 5 日)

答案4

rsync带着旗帜奔跑--partial。然后,它将保留部分传输并在启动时恢复部分文件。

相关内容