rsync可以在同步之前验证内容

Arj*_*nan 12 linux rsync checksum file

可以将Rsync配置为在同步之前验证文件的内容.我听说过校验和,但我知道校验和只是抽样.我想仅在内容被更改而不是时间戳的情况下传输文件,是否有办法在任何rsync模式下执行此操作.在我的场景中,假设每周都会创建文件sample.text,我只想在更改sample.text的内容时将其与远程服务器同步,因为它是每周创建的,时间戳会明显改变.但我希望仅在内容更改时进行转移.

Nth*_*alk 29

是:

$ man rsync | grep "\--checksum"
    -c, --checksum              skip based on checksum, not mod-time & size
Run Code Online (Sandbox Code Playgroud)

Rsync非常复杂.我建议使用手册页和测试数据进行实验,然后再将其用于任何远程重要的事情.

大多数时候,人们都会使用rsync -ac source dest.

$ man rsync | grep "\--archive"
 -a, --archive               archive mode; same as -rlptgoD (no -H)
Run Code Online (Sandbox Code Playgroud)

-rlptgoD垃圾意味着:recursive(r),将符号链接复制为符号链接(l),保留权限(p),保留时间(t),保留组(g),保留所有者(o),保留设备文件(D仅限超级用户),保留特殊文件(也是一部分D).

-c--checksum真的是你正在寻找(跳过基于校验,不MOD-时间和大小).您认为rsync仅对mtime和size进行采样的假设是错误的.

  • +使用手册页的_cuddle时间和测试数据的实验_ - 非常好的建议 (4认同)

Ale*_*sky 9

请参阅--checksumrsync手册页上的选项.

此外,--size-only如果您确定更改内容也意味着更改大小,则选项将是更快的选择.