我的理解是,只有这些标志(它们并没有真正改变比较行为),rsync会看到不同的时间戳,检查文件大小(当然,它们是相同的),然后最终做一个校验和标记它们以进行更新之前的文件.如果校验和匹配,即使时间戳不同,也不会更新文件.
我有什么误会?
解决方法 看起来你理解的东西很好,只有一个例外.当您处于–dry-run模式时,rsync不会计算校验和,因此您可能会看到在校验和完成后不会传输的文件.由于时间戳不同,rsync知道它将被更新,但由于它处于干运行模式,因此无法报告需要更新的唯一内容是时间戳.
I’m using it to monitor failure of synchronization between remote machines… so it’s really just a remote diff.
我不知道如何在干运行模式下强制校验和.
既然听起来你试图强制比较本地和远程的同步文件集,那么你可能想尝试这样的东西吗? (如果你想要更快的速度,可以用sha1或md5替换sha256deep).
diff -u <( /usr/bin/sha256deep -l -z -r -o f path | sort -k 3 ) \ <( ssh remote /usr/bin/sha256deep -l -z -r -o f path | sort -k 3 )`
该命令将在本地和远程计算每个文件的md5校验和.这两个列表在路径上排序,diff将显示校验和中的差异.
总结以上是内存溢出为你收集整理的rsync标记与时间戳完全相同的文件全部内容,希望文章能够帮你解决rsync标记与时间戳完全相同的文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)