2015-07-05 51 views
0

我使用rsync来备份我的文件。我选择rysnc,因为它(应该)使用修改时间来确定是否进行了更改以及是否需要更新文件。rsync不会复制*仅限*修改

我开始我的备份(从我的计算机系统(Debian的)到便携式外置硬盘驱动器)使用此命令:

rsync -avz --update --delete --stats --progress --exclude-from=/home/user/scripts/ExclusionRSync --backup --backup-dir=/media/user/hdd/backups/deleted-files /home/user/ /media/user/hdd/backups/backup_user 

它运作良好,并花了大量的时间。我相信第二次会很快(因为我没有修改文件)。不幸的是,第二,第三,第四,...次与第一次一样长。即使这些文件已存在于我的便携式硬盘中,我仍然可以看到所有文件都被复制。

我不明白为什么rsync不只复制修改(rsync已知是有效的,只复制更改,我特别呼叫--update选项)。

这个问题的一个副作用是所有的文件一旦被传输,它们就会被移动到我的备份目录(被删除的文件)。事实上,rsync在每次更新之前删除之前的文件以复制同一文件...

回答

1

我发现解决方案的读数为an answer on Serverfault.SE。在FAT文件与时间戳搞乱:

FAT不上的文件跟踪修改时间尽可能准确地,说 EXT3(FAT只精确到2秒窗口内)。这导致 与rsync特别讨厌的行为,因为它有时会决定 原始文件比备份文件新或旧 足以使其需要重新复制数据或至少重新检查 散列。总而言之,它会使备份的性能非常差。如果 你必须坚持使用FAT,查看rsync的--size-only和 - 修改窗口标志作为解决方法。