rsyncing-忽略校验和

rsyncing-忽略校验和

不幸的是,尝试多次复制大量数据是至关重要的。我想rsync对所有数据进行一次复制,几乎rsync只是破坏目标服务器上的数据。有没有办法做一个复制,rsync然后只说“覆盖所有文件”

有没有更好的方法?我们说的是 500GB 的数据只需单向传输。

答案1

rsync 默认不使用校验和 - 必须使用标志启用它们-c。从手册页

-c,--校验和

这改变了 rsync 检查文件是否已更改且需要传输的方式。如果没有此选项,rsync 将使用“快速检查”(默认情况下)检查发送方和接收方之间每个文件的大小和上次修改时间是否匹配。

我认为快速的非校验和计算不会成为您的限制因素。

答案2

首先想到的是:使用scp。对于简单的复制操作,语法是相同的。

答案3

我想到的第一件事是:删除之前目标文件夹中的所有内容rsync

答案4

-W我使用同步为此目的。我还没有完全测试过,所以这可能不会像我想象的那样。您也可以使用-I强制覆盖的选项。从手册页

 -W, --whole-file       copy files whole (w/o delta-xfer algorithm)
 -I, --ignore-times     don't skip files that match size and time

相关内容