我有一堆非常大的“几乎仅附加”文件(意味着末尾的几个字节每天都会更改)。
我知道要-B, --block-size=BLOCKSIZE
检查块中的增量。
是否可以跳过前 N 个块(或从 99% 的块开始检查)?
答案1
您不能指定起始块号,但根据原文对于您的问题,如果您可以保证源文件只会被扩展而不会被覆盖,您可以使用该--append
选项。
从文档 ( man rsync
) 中,
--append
这种特殊的复制模式仅适用于有效更新已知不断增大的文件,其中接收方的任何现有内容也已知与发送方的内容相同。--append
如果您不能 100% 确定传输中的所有文件都是共享的、不断增长的文件,那么使用可能会很危险。因此,您应该使用过滤规则来确保清除任何不符合此条件的文件。
您必须使用rsync
不带--append
if "末尾的几个字节被改变如果您通过网络进行复制 ( rsync -a path/to/source remoteHost:path/to/destination
),那么每次运行时您都会获得源和目标的完整文件读取rsync
,但每个块只有一个校验和,并且已更改的块实际上将通过网络传输不幸的是,如果您正在进行本地复制 ( rsync -a path/to/source path/to/destination
),则如果文件大小发生变化,整个文件都会被复制。