2

我正在使用一个每小时运行一次的脚本来同步一些文件。有时脚本在完成之前被中断,例如因为客户端或服务器关闭。

对于大多数文件,这不是问题,因为下次脚本运行时它会复制这些文件。

但是,对于一些通过 LAN 需要很长时间的大文件,它可能在完成之前就被中断了。这意味着 rsync 下一次必须从头开始,但如果第二次再次中断等,则文件将永远不会复制。

因此,我正在考虑添加 -partial 标志,如下所述: Resuming rsync partial (-P/--partial) on a interrupted transfer https://unix.stackexchange.com/questions/2445/resume-transfer-of-通过 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”,因为它会创建太多的硬盘活动。

4

1 回答 1

1

从 rsync 文档中--checksum

请注意,rsync 始终通过检查在传输文件时生成的整个文件校验和来验证每个传输的文件是否在接收端正确重建,但是自动传输后验证与此选项的 before- the-transfer "这个文件需要更新吗?" 查看。

所以,是的,rsync 将纠正任何部分传输的文件,无论它们多么损坏(在最坏的情况下,所有数据都将被再次传输)。

于 2013-07-21T12:52:03.883 回答