Btrfs

更改 Snapper 創建快照的位置

  • July 11, 2019

我有一個 BTRFS 文件系統,執行 Arch Linux x86_64。在那個文件系統上,我有頂級子卷(id=5),然後在裡面我有@root、@home、@snapshots、@swapfile。我希望能夠創建一個 Snapper 配置來自動將 @root 和 @home 快照到 @snapshots。預設似乎它會在我為其創建配置的子卷內為其快照創建一個子卷,有沒有辦法改變它創建快照的位置?

對不起,不行。snapper總是在它創建快照的子卷中創建快照。

另一種工具是btrbk。它的配置允許您指定創建快照的位置。

我一直在btrbk成功地使用創建定期快照(由 systemd 計時器觸發)以及在我的備份腳本中將快照傳輸到外部設備,同時應用保留策略。

好吧,我所做的是:

  • 如果尚未完成,則安裝 Btrfs 根卷(例如 to /mnt
  • 像往常一樣創建 snapper 配置;snapper 將創建子卷/.snapshots/home/.snapshots
  • 刪除這些子卷並在您喜歡的地方創建新的,也許是您的 Btrfs 根目錄(例如/mnt/@SNAPS/mnt/@HOMESNAPS等等)
  • 在 snapper 在 ( /.snapshots, /home/.snapshots)之前創建子卷的位置創建空文件夾
  • 添加條目以/etc/fstab/@SNAPS子卷安裝到、/.snapshots等。/@HOMESNAPS``/home/.snapshots

通過此設置,snapper 確實可以訪問其硬編碼的快照目標,而它們實際上位於 Btrfs 頂層的直接子卷中。

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