我正在使用 rsync 备份我机器上的文件,但注意到日志文件中每次都会重新同步一小部分文件。为什么会发生这种情况?
(我可以理解那些 .AppleDoubles 可能会时常发生变化,但是图片和电影文件已经很旧了,不应该发生改变。)
我的 rsync 命令是
rsync -av --delete --log-file=Logfile.log --rsync-path='sudo rsync' fromfolder tofolder
并且日志文件不断出现
2014/11/25 17:08:27 [11866] receiving file list
2014/11/25 17:08:29 [11868] >f.st....... Foto/2007/DSC_3646.JPG
2014/11/25 17:08:29 [11868] >f.st....... Foto/2007/DSC_5333.JPG
2014/11/25 17:08:30 [11868] >f.st....... Foto/2007/DSC_5791.JPG
2014/11/25 17:08:30 [11868] >f.st....... Foto/2007/DSC_6005.JPG
2014/11/25 17:08:30 [11868] >f.st....... Foto/2007/DSC_6743.JPG
2014/11/25 17:08:31 [11868] >f.st....... Foto/2007/R1.JPG
2014/11/25 17:08:31 [11868] >f.st....... Foto/2007/R2.JPG
2014/11/25 17:08:31 [11868] >f..t....... Foto/2007/.AppleDouble/DSC_3646.JPG
2014/11/25 17:08:31 [11868] >f..t....... Foto/2007/.AppleDouble/DSC_5791.JPG
2014/11/25 17:08:31 [11868] >f..t....... Foto/2007/.AppleDouble/DSC_6743.JPG
2014/11/25 17:08:31 [11868] >f..t....... Foto/2007/.AppleDouble/R1.JPG
2014/11/25 17:08:31 [11868] >f..t....... Foto/2007/.AppleDouble/R2.JPG
2014/11/25 17:08:31 [11868] >f.st....... Foto/2007/L1000503.JPG
2014/11/25 17:08:32 [11868] >f..t....... Foto/2008/.AppleDouble/L1000503.JPG
2014/11/25 17:08:43 [11868] >f.st....... Multimedia/B.MOV
2014/11/25 17:08:43 [11868] >f..t....... Multimedia/.AppleDouble/B.MOV
2014/11/25 17:08:44 [11868] sent 105,561 bytes received 80,878,709 bytes 3,446,139.15 bytes/sec
2014/11/25 17:08:44 [11868] total size is 177,280,586,662 speedup is 2,189.07
答案1
在默认操作模式下,rsync
使用修改时间作为关键来确定是否应传输文件。摘自其手册页:
Rsync 使用“快速检查”算法(默认)查找需要传输的文件,该算法查找大小或上次修改时间已发生变化的文件。
使用该--checksums
选项,它将查看文件内容:
-c, --checksum skip based on checksum, not mod-time & size
答案2
仔细研究后,我发现了问题的根本原因:接收文件系统不区分大小写,并且所涉及的文件除了扩展名外,其他所有名称都相同,如下所示:
2873603 Oct 20 2009 R1.JPG
2180728 Oct 20 2009 R1.jpg
2814276 Oct 20 2009 R2.JPG
3150011 Oct 20 2009 R2.jpg
似乎有一个工作通用解决方案问题已经解决了,但由于我只需要更改几个文件,所以我手动修改了它们的名称。瞧,问题解决了。