假设 /home 是我的 BTRFS 分区(用于保留备份)& /storage 是我的辅助磁盘(用于存储备份),这样可以吗?
初始备份(2020 年 9 月 8 日):
btrfs subvolume snapshot -r /home /home/backup
btrfs send /home/backup > /storage/home.bin
第二天 (2020 年 9 月 9 日):
btrfs subvolume snapshot -r /home /home/backup-new
btrfs send -p /home/backup /home/backup-new > /storage/home.incr.20200909
btrfs subvolume delete /home/backup
mv /home/backup-new /home/backup
第二天 (2020 年 9 月 10 日):
btrfs subvolume snapshot -r /home /home/backup-new
btrfs send -p /home/backup /home/backup-new > /storage/home.incr.20200910
btrfs subvolume delete /home/backup
mv /home/backup-new /home/backup
.... 等等。
为了恢复,只需在某处创建一个新的 BTRFS 卷,然后按照存储的完整备份文件和增量的正确顺序重新播放“btrfs 接收”。
答案1
我应该可以工作,但是你必须保留所有增量文件,因为任何丢失的增量文件都会在此日期之后导致恢复操作失败。
如果您可以在 btrfs 中格式化辅助磁盘的分区,那么它将更加实用,因为您可以在“btrfs send”之后立即使用“btrfs received”进行增量备份:
初始备份(2020 年 9 月 8 日):
btrfs subvolume snapshot -r /home /home/backup
btrfs send /home/backup|btrfs receive /storage # line modified
mv /storage/backup /storage/home.20200908 # line added
第二天 (2020 年 9 月 9 日):
btrfs subvolume snapshot -r /home /home/backup-new
btrfs send -p /home/backup /home/backup-new|btrfs receive /storage # line modified
mv /storage/backup-new /storage/home.20200909 # line added
btrfs subvolume delete /home/backup
mv /home/backup-new /home/backup
为了直接获得最后的备份(例如,轻松恢复错误删除的文件),可以轮换备份(例如,仅保留上周的备份)并且可以删除中间备份。