我正在运行命令:sudo rsync -Hva --delete --progress --append-verify "/mnt/1/" "/mnt/2/"
。我继续修改了一个文本文件/mnt/2/
。然后我运行该命令并得到以下输出:
sending incremental file list
sent 13,320,053 bytes received 60,989 bytes 198,237.66 bytes/sec
total size is 1,745,978,866,295 speedup is 130,481.53
我签入了文本文件/mnt/2/
,它仍然有我的修改。我是否误解了该命令append-verify
?它不检查文件校验和吗?我还修改了文件的时间戳并增加了文件大小。
澄清一下,我不想从 DEST 同步到 SRC。我只是希望从 SRC 同步到 DEST 以覆盖我在 DEST 中所做的更改。
答案1
默认情况下,rsync 会忽略文件时间和大小。
这联机帮助页说的是--append
:
如果需要传输文件并且接收方上的文件大小与发送方上的大小相同或更长,则将跳过该文件。
它与 --append-verify 共享这种品质。您希望发生的额外验证只会发生后追加操作(如果您向文件添加了某些内容而不是删除了某些内容,则可能永远不会发生)。
在这种情况下,您可能需要该-I
标志,以便忽略文件的时间和大小。
附加选项主要是为了加快更新仅在底部更改的较大文件(例如日志文件)。