温和地终止 rsync

温和地终止 rsync

有没有一种干净的方式可以随时告诉rsync用户停止? 两个选项:

  • 告诉rsync停止传输当前文件,清除所有临时文件并退出;
  • 或者让rsync结束当前文件的传输然后停止。

通过Ctrl + C这样做确实停止中途转移并将临时文件留在那里,对吗?

编辑

即使使用--inplace?最好的做法是什么?我正在使用rsync并且--inplace我必须快速完成,我该怎么说“可以结束此文件然后退出,或者立即退出,但清理您正在复制的此文件,这样您就不会留下损坏的内容(我不在乎它是否被删除,我可以稍后再次备份)”或类似的东西。

答案1

如果您用Ctrl+C它终止 rsync,它确实会在传输过程中停止它,但它不会在那里保留任何临时文件,除非使用该--partial选项运行。

对于那些只想暂停 rsync 的人来说,如果你按下Ctrl+Z它,程序就会暂停。当你通过运行fg或恢复它bg时,rsync 将重复下载未完成的文件并继续下载其余文件。要查看所有当前暂停的程序,请运行jobs

关于--inplace

--inplace 的问题在于它在更新数据时不会创建新文件,而只会写入现有文件。如果在使用 --inplace 运行时按下 ctrl + c,并且它正在更新现有文件,它将留下一个未完成的文件而不会将其删除。此外,如果您只同步新文件而不更新现有文件,那么当您切断传输(使用 ctrl + c)时,它将留下一个未完成的文件而不会将其删除。请注意,我不建议将 --inplace 用于 OS 文件。您确实可以搞砸一些东西(因为它们经常更改)

相关内容