我正在使用一个小时运行一次的脚本来rsync一些文件。 有时脚本在完成之前被中断,例如因为客户端或服务器关闭了。
对于大多数文件而言,这不是问题,因为下次脚本运行时会复制这些文件。
但是,对于某些需要很长时间通过LAN的大文件,它可能会在完成之前中断。这意味着下次rsync必须从头开始,但如果第二次再次中断等,则文件将永远不会复制。
我正在考虑添加-partial标志,如下所述: Resuming rsync partial (-P/--partial) on a interrupted transfer https://unix.stackexchange.com/questions/2445/resume-transfer-of-a-single-file-by-rsync
我已经使用“-partial”测试了它确实有效,即操作从最后传输的文件片段继续。
我担心的是这是否会增加文件损坏的风险? https://lists.samba.org/archive/rsync/2002-August/003526.html https://lists.samba.org/archive/rsync/2002-August/003525.html
或者换句话说,即使“-partial”确实造成了一些损坏,那么下次rsync运行时它会找到并“纠正”那些损坏的块吗?
如果是这种情况,那么我可以使用“-partial”,如果有任何损坏,它将在下次更正?
感谢。
PS:我不想使用“-c”,因为它会产生太多的硬盘活动。
答案 0 :(得分:1)
来自--checksum
上的rsync文档:
请注意,rsync始终通过检查文件传输时生成的整个文件校验和来验证每个传输的文件是否在接收端正确重建,但是自动传输后验证与此无关选项在转移之前“此文件是否需要更新?”检查。
所以,是的,rsync将纠正任何部分传输的文件,无论它们有多么损坏(在最坏的情况下,所有数据都将再次传输)。