Rsync 增量更新,跳过前 N 个块(或 %)

Rsync 增量更新,跳过前 N 个块(或 %)

我有一堆非常大的“几乎仅附加”文件(意味着末尾的几个字节每天都会更改)。

我知道要-B, --block-size=BLOCKSIZE检查块中的增量。

是否可以跳过前 N 个块(或从 99% 的块开始检查)?

答案1

您不能指定起始块号,但根据原文对于您的问题,如果您可以保证源文件只会被扩展而不会被覆盖,您可以使用该--append选项。

从文档 ( man rsync) 中,

--append这种特殊的复制模式仅适用于有效更新已知不断增大的文件,其中接收方的任何现有内容也已知与发送方的内容相同。--append如果您不能 100% 确定传输中的所有文件都是共享的、不断增长的文件,那么使用可能会很危险。因此,您应该使用过滤规则来确保清除任何不符合此条件的文件。

您必须使用rsync不带--appendif "末尾的几个字节被改变如果您通过网络进行复制 ( rsync -a path/to/source remoteHost:path/to/destination),那么每次运行时您都会获得源和目标的完整文件读取rsync,但每个块只有一个校验和,并且已更改的块实际上将通过网络传输不幸的是,如果您正在进行本地复制 ( rsync -a path/to/source path/to/destination),则如果文件大小发生变化,整个文件都会被复制。

相关内容