rsync 的最佳智能参数是什么,可以实现对很少更改且包含大量小文件的大型文件夹的最快检查。我使用以下命令在每天结束时将本地磁盘同步到 USB3 磁盘(在当天开始时执行相反的操作),即使没有任何更改,仍然需要一分钟 - 可以吗检查速度更快吗?例如,我认为每个文件夹都有一个修改时间,因此如果/Source/A和/Target/A具有相同的修改时间,则不需要递归地进入它们?或者 rsync 必须检查嵌套的数千个小文件中的每一个是否危险?还有其他想法吗?谢谢
rsync -a --delete --stats /Source/ /Target/
Number of files: 208,645 (reg: 187,331, dir: 16,910, link: 4,404)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 11,103,192,078 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 65,536
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 4,126,114
Total bytes received: 17,677
sent 4,126,114 bytes received 17,677 bytes 236,788.06 bytes/sec
total size is 11,103,192,078 speedup is 2,679.48
答案1
您不会比rsync
两个本地设备之间的速度更快,尤其是其中一个设备所在的地方非本地 NTFS。它已经在尝试跳过“看起来”未更改的文件。
如果您在本机文件系统(例如 ext4)或两个不同系统之间传输文件,您可能会获得更好的吞吐量,但可能不会很多。
没有可用的基于目录的优化,因为需要扫描每个条目以检查它是否是目录,并且修改时间不会传播到父级。