Backup

是否有可能以及如何在 btrfs 文件系統中的不同快照之間合併相同的文件?

  • October 29, 2014

我經常使用 btrfs 的快照來備份整個系統,但是在不同的快照之間有相同的文件是多餘的。通常,例如,我將@ 的快照作為@_without_install_nvidia_driver,並安裝了nvidia_driver。幾天后,我更新了系統,導致大量文件更改。後來,幾天后,我發現nvidia_driver包不穩定,又恢復到@_without_install_nvidia_driver,但我不得不再次更新系統,在那裡我意識到兩個快照中存在相同的文件,因為系統現在已經在兩個快照中更新。

這讓我想知道:有沒有辦法在不同的快照之間合併相同的文件?

您可以使用bedup 實用程序對相同的文件進行重複數據刪除。安裝後,使用非常簡單:

# bedup dedup /path/to/btrfs

您可能需要將快照設置為可寫 ( btrfs property set -ts /path/to/snapshot ro false),以便對它們進行重複數據刪除。之後您可以將它們改回來。

請注意,根據您擁有的文件數量,可能需要一段時間(它首先查找相同大小的文件,然後比較這些文件……因此,如果您有一堆相同大小的大文件,則可能需要一點點。)

最後,您可以不時再次執行它,以後的執行會更快,因為它會跟踪 btrfs 生成並使用它來跳過舊文件。

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