BTRFS handles creating and deleting snapshots very efficiently. You can create regular read-only snapshots of the \backup
subvolume and delete older ones without issues.
Just leave the latest 1-2 snapshots before running the delete to avoid any edge cases. Additionally, consider setting up snapshot rotation - for example, always keeping the last 12 monthly and 4 weekly snapshots. Automatically delete older ones.
This ensures you maintain backup history without filling up disk. Moreover, when deleting old snapshots, use btrfs subvolume delete rather than a regular rm -rf
. This is safer and handles metadata cleanup better. Furthermore, make \backup
a BTRFS subvolume rather than just a directory, as suggested in another answer.
This allows easier snapshotting and management. \snapshots
can remain a regular directory. Also, validate backups by actually restoring sample files periodically. Ensure the backup process is capturing data correctly. Additionally, look into BTRFS RAID capabilities if you want redundancy against disk failures. In particular, RAID-1 with two disks protects against single disk failure. In summary, it's a good strategy. Just be mindful of snapshot rotation, use btrfs aware commands, validate integrity, and consider redundancy.
backup
instead of just a directory.snapshot
can be a regular directory just fine though.