Resilio Sync的同步機制


設置好Resilio Sync的同步文件夾之后,可以在多個設備間互相同步。那么同步是如何進行的呢?又是如何處理版本控制和文件沖突的呢?根據官方文檔的說明,我整理出了以下內容,希望可以解答上面的疑惑。

.sync文件夾

在Resilio本地同步文件夾中,有一個隱藏文件夾,名為 .sync,里面存儲了設備信息、文件信息等,這些文件和文件夾的作用如下:

  • Archive文件夾:存儲其他設備中修改或者刪除的文件歷史版本
  • ID文件:文件夾標識符,通過ID,Resilio可以找到其他同步設備上對應的文件夾
  • IgnoreList文件:標識出哪些文件無需同步,類似Git中的 .gitignore
  • StreamsList文件:數據流文件白名單,Windows下的數據流即alternate streams,Mac/Linux下的數據流為extended attributes(這個不理解也沒事)
  • .!sync結尾的文件,表示此時正在同步,同步結束后,文件將被重命名,然后移動到正確的位置

Archive文件夾和版本控制

  • Archive文件夾用於保存文件的歷史版本
  • 如果文件在任意節點更新或者刪除,則舊版本的文件會移動到其他節點的Archive文件中
  • 默認情況下,電腦端保留30天歷史,手機端保留1天歷史,時間數值可以修改 Sync Preferences > Advanced > Power user preferences > sync_trash_ttl
  • 也可以設置進行版本控制的文件最大大小,默認為1000,即1000Mb,表示小於1000Mb的文件都會保存歷史版本 Sync Preferences > Advanced > Power user preferences > max_file_size_for_versioning
  • 歷史版本會在文件名后添加序號,序號越大,表示版本越新,文件的修改時間即為當前版本被移動到 Archive 文件夾的時間
  • Archive功能可以關閉,但是強烈不建議關閉

同步順序

如果多人對同一個文件進行了操作,Resilio會按照時間順序同步,最先修改的最先同步,只有設備上線才會進行同步
舉兩個例子說明:

  • 場景1:假設有3台同步設備,且均在線。設備1在10:00更新了文件,設備2在10:10更新了文件,設備3在10:20更新了文件。

那么,同步會按照時間順序進行,先同步設備1所做更改,再同步設備2所做更改,最后同步設備3所做更改。

  • 場景2:假設有2台同步設備。設備1為離線狀態,在10:00時修改了文件;設備2為在線狀態,在10:10修改了文件。

那么當設備1上線后,設備1所做的修改會優先同步。由此,設備2所做的修改會被覆蓋,但是被覆蓋的文件可以從Archive文件夾中找到。

同步模式

增量同步,只同步更新的部分

參考資料

  • What is '.sync' folder, and StreamsList, IgnoreList and Archive inside? – Sync

https://help.resilio.com/hc/en-us/articles/206217185-What-is-sync-folder-and-StreamsList-IgnoreList-and-Archive-inside-

  • Using Archive for file versioning and restoring deleted files. – Sync

https://help.resilio.com/hc/en-us/articles/204754239-Using-Archive-for-file-versioning-and-restoring-deleted-files-

  • What if several people make changes to the same file? – Sync

https://help.resilio.com/hc/en-us/articles/204754209-What-if-several-people-make-changes-to-the-same-file-

  • When a file changes, does Resilio Sync transfer the entire file again, or just the part that's changed? – Sync

https://help.resilio.com/hc/en-us/articles/206217095-When-a-file-changes-does-Resilio-Sync-transfer-the-entire-file-again-or-just-the-part-that-s-changed-


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM