I came across a need to trim old ZFS snapshots. These are my quick and dirty notes on how I accomplished it.
Basic syntax taken from here:
zfs list -H -t snapshot -o name -S creation -r <dataset name> | tail -10
You can omit the -r <dataset name> if you want to query snapshots over all your datasets. Change the tail number for the desired number of oldest snapshots.
You can pass this over to actually delete snapshots using the xargs command:
zfs list -H -t snapshot -o name -S creation -r <dataset name> | tail -10 | xargs -n 1 zfs destroy
I came across an odd error message when trying to delete some old snapshots:
Can't delete snapshot: dataset busy
zfs release -r <tag name> <snapshot name>
After massaging these commands for a bit I was able to free up some needed space by removing ancient snapshots.