rsync需要很长时间才能发送文件列表


14

我正在尝试使用rsync将某些文件从内部硬盘备份到USB驱动器。(我正在开发wd mybook world NAS)

我要备份两个文件夹。音乐文件夹和视频文件夹。音乐文件夹(864个文件,大约10gb)在大约1小时内就可以完美工作(完整的进度)。

但是视频文件夹(1025个文件,大约700gb)现在仍在“发送增量文件列表”上8个小时。我认为没有任何转移。是什么导致这种差异?video文件夹中没有更多文件。是的,它更大了,但是我认为生成文件列表不会有什么不同。

我正在使用以下rsync命令:

/shares/extern # rsync -avPc --stats /shares/Public/Shared\ Videos /shares/extern/

现在,由于我在NAS上工作,所以我没有那么多的CPU能力,但是我认为这太久了。

您认为这是正常现象吗?有什么建议可以帮助我加快整个过程吗?

我正在使用rsync 3.0.2


2
请不要在问题正文中填写答案。如果当前答案不正确,则可以添加自己的答案,如果有其他要添加的内容,则可以对其他人的答案进行评论。谢谢!
卡莱布

Answers:


25

-c选项强制rsync为所有文件计算校验和。这意味着它在开始确定要复制哪些视频文件之前,正在读取所有视频文件的内容。那显然很慢。

如果可能,请考虑删除该选项。仅在极少数情况下才需要它。有关更多详细信息,请参见手册页上的描述:

请注意,rsync始终通过检查在传输文件时生成的整个文件校验和来验证接收方是否正确重建了每个传输文件,但是自动传输后验证与该选项的之前无关- -传输“此文件需要更新吗?” 校验。


哦,谢谢你的提示。阅读完联机帮助页后,我可以说我误解了-c选项。以为它在复制后带有校验和进行检查。谢谢您的帮助!
Graslandpinguin

@CaptnLenz,乐意提供帮助。请考虑单击答案左侧的对勾以接受我的解决方案。
捕捉

我遇到了这个问题,因为我向rsync命令传递了“ -archive”而不是“ -archive”。rsync认为“ -archive”是-c的变体。
莱昂斯2014年

4
只是为了扩展@Leons注释,-archive被视为-a -r -c -h -i -v -e,所有有效的开关。棘手的小错误。
Mark C

等待,检查校验和与检查文件大小/修改日期之间有什么区别?与仅检查文件大小/修改日期相比,检查校验和实际花费的时间长得多吗?rsync是在第一次运行后保存校验和,还是每次运行都从头开始计算校验和?
肯(Ken)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.