中斷後恢復rsync,資料可能會改變

中斷後恢復rsync,資料可能會改變

我使用命令“Rsync”將大量資料從檔案系統傳輸到 nfs(大約 1Tera)。

過了一會兒,電腦關機,傳輸取消(600G傳輸大約需要10個小時)。

一些已上傳的檔案系統已被使用者更改/添加。我想知道,如果我再次使用 Rsync,而不刪除部分傳輸,它將知道忽略該 Transferres 文件,並重新上傳已更改的內容。

PS如果有恢復Rsync的選項,傳輸的檔案會比第一次上傳的速度更快嗎?我很擔心,因為我傳輸 600G 花了 10 個小時,我希望下一次 Rsync 會快得多。

編輯:顯然我無法評論答案......所以我使用了@Kusalananda rsync -rtzvx

答案1

您沒有使用這些-a選項,因此使用者和群組所有權以及權限均未保留。然而,時間戳是由於使用了-t.

當您現在重新啟動 rsync 時,它將無法使用上述元資料來確定目標上的檔案與來源上的檔案是否相同。如果你覺得幸運,你可以使用--size-only,它告訴 rsync 如果大小相同則假設檔案是相同的;這通常只適用於日誌檔案或照片等內容。

然而,事情可能並不像您想像的那麼糟糕:rsync 將對來源和目標上的每個檔案進行校驗和,並且只有當校驗和顯示差異時才會傳輸不同的區塊。即,不會再次傳輸整個文件,僅傳輸更改的區塊。這就是 rsync 的優點:以更多磁碟 IO 為代價優化網路頻寬使用。

當然,這是假設 rsync 正在透過網路傳輸到另一台主機。如果您所說的 NFS 檔案系統是本機安裝的,那麼 rsync 可能不是用於此目的的工具,因為 rsync 在檢查檔案時實際上會使用更多的網路頻寬。此外,在進行本機傳輸時,rsync 會切換到--whole-file模式,因為首先檢查整個來源文件和目標文件,然後將來源文件複製到目標文件是沒有意義的。

一般來說,如果可能的話,我會建議使用-a--numeric-ids如果來源和目的地有不同的用戶,您可能需要將其合併;如果您有相同的使用者但 ID 可能不同,則不要使用--numeric-ids,rsync 會根據名稱對應 ID。

相關內容