Bash

哪個協議需要 rsync 才能通過源伺服器和目標伺服器啟用校驗和計算?

  • October 6, 2020

我使用目標伺服器上的選項執行rsync--checksum ,如下所示:

rsync -av --bwlimit=800000 --delete --checksum /mnt/disks/SMB_SRC/ /mnt/user/dst

但是當我將源伺服器安裝為 SMB 共享時,所有文件都完全傳輸到目標伺服器以計算校驗和。需要哪些協議來啟用在源伺服器上計算源文件的校驗和以避免傳輸所有文件?只有 rsync 守護程序 (rsync://) 還是也支持其他協議?

當源和目標都是“本地”路徑時,它已經必須讀取雙方來計算校驗和。沒有 SMB 呼叫請求校驗和,因此無法減少 I/O。

傳輸的一側必須是遠端的以避免 I/O。另一端不必有守護程序,但標準的 SSH 連接也可以。

$ rsync /localpath /otherlocalpath     # Both sides read.  No checksum comparison
$ rsync /localpath server:/remotepath  # Destination remote
$ rsync server:/remotepath /localpath  # Source remote

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