Rsync

rsync –append 是否能夠在不讀取所有複製數據的情況下恢復中斷的複製過程?

  • September 7, 2022

我需要將同一台機器上的一個非常大的文件 (3TB) 從一個外部驅動器複製到另一個驅動器。這可能需要(因為頻寬低)很多天。

因此,當我不得不中斷複製並在重啟後恢復複製時,我想做好準備。從我讀過的我可以使用

rsync --append 

為此(rsync 版本>3)。關於--append國旗的兩個問題:

  1. 我是否rsync --append用於所有呼叫?(當目標驅動器上不存在中斷副本時的第一次呼叫,以及目標存在中斷副本時的後續呼叫。)
  2. 是否在讀取所有已複製數據的情況下rsync --append繼續後續呼叫複製過程?(換句話說: rsync 是否模仿-style查找和讀取操作?)dd

我是否rsync --append用於所有呼叫?

是的,您每次都會使用它(第一次沒有要附加的內容,所以它是無操作的;第二次和隨後的時間它被執行)。但是不要使用--append除非您可以保證****源與之前的執行(如果有的話)相比沒有變化,因為它會關閉對之前複製的內容的檢查。

是否rsync --append恢復後續呼叫……而不讀取所有已複製的數據?

是的,但沒有rsync --partial可能會首先刪除目標文件。

正確的呼叫應該是這樣的:

rsync -a -vi --append --inplace --partial --progress /path/to/source/  /path/to/target

--progress如果您不想看到進度指示器,並且-vi您不太關心更多資訊性結果(您仍然會被告知它是成功還是失敗) ,則可以刪除。您可能會看到-P在其他情況下使用:這與此處相同--partial --progress並且也可以用於此。

  • --append重新啟動後繼續,而不檢查以前傳輸的數據
  • --partial保留部分傳輸的文件
  • --inplace強制更新就地

如果您對自第一次嘗試 後源可能已更改有任何疑問rsync,請使用 (much)slow--append-verify而不是--append. 或者更好的是,--append完全刪除標誌並讓rsync刪除目標並再次開始複製它。

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