Rsync

rsync 會寫入與備份無關的數據嗎?

  • September 5, 2020

我通過添加--dry-run( -n)選項再次執行該過程來驗證我的 rsync 備份的完整性。根據 O’Reilly的說法,所有不同的文件都會出現在終端輸出中,但讓我感到困惑的是,在他們的範例中以及在我的兩個測試中,rsync 仍然報告有寫入數據。我有一個多 TB 的存檔,對我來說價值是兆字節。

由於該-n選項,第一個 rsync 實際上執行複制,而第二個僅報告差異。如果沒有差​​異,輸出將如下所示:

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

寫入和讀取的數據是指源程序和目標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進行文件列表和元數據的這種通信,但即使源和目標之間的情況不同,也不更新磁碟上的文件。為此,仍然需要傳輸數據。

引用自:https://unix.stackexchange.com/questions/607976