Skip to content

zfs destroy multiple snapshots

Many times I find myself cleaning out a bunch of snapshots. Here is a command to help.

test without destroy first

# zfs list -t snapshot -o name -S creation | grep ^TANK/ARCHIVE_MySrc | grep 2020 | xargs -n 1 echo
TANK/ARCHIVE_MySrc@2020-07-17_20.15.01--2w
...
TANK/ARCHIVE_MySrc@2020-04-01_02.20.01--1y
TANK/ARCHIVE_MySrc@2020-03-01_02.20.01--1y
TANK/ARCHIVE_MySrc@2020-02-01_02.20.01--1y

destroy

# zfs list -t snapshot -o name -S creation | grep ^TANK/ARCHIVE_MySrc | grep 2020-07 | xargs -n 1 zfs destroy -vr

NOTE: Deleting snapshots in reverse order is supposedly more efficient or sort in reverse order of creation.