I think the way snapper is set up by default is really good for most users. It will clean your snapshots once a day. But this will lead to more snapshots than you set, if you do a lot of updates during a day or if you have enabled hourly snapshots.
But I also don’t want to keep more snapshots than I have set in BTRFS-Assistant. I have fixed that by editing /usr/lib/systemd/system/snapper-cleanup.timer
and changing OnUnitActiveSec
to 1 hour:
[Timer]
OnBootSec=10m
OnUnitActiveSec=1h
This will clean up your snapshots every hour using the number of snapshots you specified in BTRFS-Assistant. Don’t forget to enable Snapper cleanup enabled
in the Snapper Settings of BTRFS-Assistant for each config, but this should be set by default. I use this mainly for my home volume, because I want to have hourly snapshots there, but only for the last 6h.
You can run a manual cleanup with sudo /usr/lib/snapper/systemd-helper --cleanup
.