我有一个使用 rsync 的镜像系统,它运行良好。但是,移动文件会导致整个文件再次被传输。
根据我对 rsync 算法的滚动校验和的了解,是否可以这样做:
- tar 所有源文件
- rsync tar
并且只因文件名更改而导致块大小损失,此后校验和会重新同步?但是,我没有用于大型 .tar 文件的临时缓冲空间。
我的问题:
是否有一种有效的读/写方式将文件系统挂载为 tar,以便我可以 rsync?
是否有某种方式通过管道 tar | rsync 来实现这种行为?
答案1
如果您使用gzip
而不是tar
,则有rsyncable
选项。
Gzip
源,然后使用rsync
它将其复制到目标。每晚更新 gzip 存档,然后rsync
再次使用。rsyncable
将以符合 rsync 更新算法的方式更新 gzip 存档,并且每晚仅同步 gzip 存档中更改的部分,而不是整个存档。