the readme is a good place to start with btrbk
keeping many snapshots around just in case. i'll manually delete large swaths of them when i need to create free space and i'm feeling particularity confident about my recent deletions.
executing every 5 minutes with cron:
$ crontab -l
*/5 * * * * btrbk -c /etc/btrbk/btrbk.conf run
desktop configuration:
$ more /etc/btrbk/btrbk.conf
timestamp_format long-iso
volume /
snapshot_dir /.snapshots
subvolume /
snapshot_name root
snapshot_preserve_min 2h
snapshot_preserve 48h 14d 52w 48m
that last line controls which snapshots are kept: a snapshot each hour for the last 48 hours, every day for the last 14 days, every week for the last 52 weeks, and every month for the last 48 months.
snapshot_preserve_min above it controls the minimum amount of time snapshots are preserved for,
so for 2 hours every one of our 5 minute snapshots is retained.
afterwards, they're subject to the snapshot_preserve.
$ cd /.snapshots
$ ls -1r | head -n 5
root.20251205T190000-0800
root.20251205T185500-0800
root.20251205T185000-0800
root.20251205T184500-0800
root.20251205T184000-0800
$ ls -1r | head -n 45 | tail -n 5
root.20251205T010000-0800
root.20251205T000000-0800
root.20251204T230000-0800
root.20251204T220000-0800
root.20251204T210000-0800
$ ls -1r | head -n 200 | tail -n 5
home.20251026T000000-0700
home.20251019T000000-0700
home.20251012T000000-0700
home.20251005T000000-0700
home.20251001T000000-0700
each directory listed contains my entire root at that moment.