rsync是否会写入与备份无关的数据?

rsync是否会写入与备份无关的数据?

我通过使用--dry-run( -n)再次运行该过程来验证 rsync 备份的完整性选项添加。根据奥莱利的说法所有不同的文件都会出现在终端输出中,但令我困惑的是,在他们的示例以及我的两个测试中,rsync 仍然报告有书面数据。我有一个多 TB 的存档,对我来说,该值以兆字节为单位。

第一个 rsync 实际执行复制,而第二个 rsync 仅报告差异,这要归功于选项-n。如果没有差异,则输出将如下所示:

receiving file list ... done
wrote 16 bytes   read 7478 bytes   4996.00 bytes/sec
total size is 3469510  speedup is 462.97

如果有任何文件不同,它们的名称将出现在“接收文件列表”消息之后:

receiving file list ... done
/bin/ls
/usr/sbin/sshd
wrote 24 bytes   read 7486 bytes   5006.67 bytes/sec
total size is 3469510  speedup is 461.99

答案1

rsync数据的写入和读取是指源进程和目标进程之间元数据的通信。这些之间仍然需要沟通确认没有元数据发生变化,并且不需要传输任何内容,并且要做到这一点书面通过网络连接。

- Hey, this is my list of files, with their types, permissions,
  ownership and stuff.  Is that any different from what you have?
- No, that's exactly what I have.
  (Alternatively: No that's not what I have,
   but we're in dry-run mode so never mind)
- Cool, thanks, seeya later!
- Bye!

文件列表越大,需要通过网络连接传送的数据就越多,以确认没有发生任何更改。

当使用-nor时--dry-run,您基本上告诉rsync进行文件列表和元数据的通信,但不更新磁盘上的文件,即使源和目标之间的情况不同。为此,仍然需要传输数据。

相关内容