Backup
是否有可能以及如何在 btrfs 文件系統中的不同快照之間合併相同的文件?
我經常使用 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 生成並使用它來跳過舊文件。