Rsync

在更新原始碼時使用 rsync 是否安全?

  • December 31, 2016

rsync假設源文件系統在 rsync 執行時很可能被修改,那麼在源文件系統已掛載且可寫時使用它是否安全?我認為在競爭條件下我可能無法獲得最新的修改,但是否存在腐敗風險?

rsync在讀寫掛載的文件系統上使用是相當安全的。啟動時rsync,它會建立一個文件列表,然後開始複製這些文件。此文件列表在執行期間未更新。然後複製實際數據。

這意味著當一個文件在建立文件列表 rsync發生變化時,它將複製的內容。但是,在建立文件列表後添加rsync新文件時,不會複製該新文件。如果在建構文件列表後刪除rsync了文件,rsync 將警告它無法複製該文件。請記住,這rsync不是快照,這意味著很難判斷在哪個時間點rsync複製了數據。

另一方面,文件系統或捲管理器快照(例如,使用 ZFS 或 LVM)是即時創建的,並且是文件系統在明確定義的時間點的一致快照,然後可以復製到另一台主機。rsync不提供這種一致性。

*編輯:*正如其他人在評論中指出的那樣,rsync實際上可能會損壞您的文件。當 rsync 開始讀取文件並且應用程序同時寫入該文件時,您最終可能會得到一個損壞的文件。

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