Lightweight Snapshot Retention for Small Homelab Pools
Snapshots are cheap right until a large database compaction or container image rebuild runs between daily intervals. On smaller NVMe mirrors, keeping an unbounded history quickly hides real free space.
A straightforward systemd timer that prunes anything older than 14 days while keeping one monthly marker is usually more than enough for personal infrastructure:
zfs list -H -t snapshot -o name,creation -s creation \
| awk '$1 ~ /@auto-/ {print $1}'
Always check zfs list -o space before major upgrades so you know how much space is held by referenced blocks vs. live datasets.