summaryrefslogtreecommitdiffstats
path: root/zfs_snapshot_cleanup.sh
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2015-03-15 23:51:26 +0100
committerFlorian Pritz <bluewind@xinu.at>2015-03-15 23:51:26 +0100
commit964185d1a267ddcf79ac3517bc7145a141ea3c32 (patch)
tree0e802b995092682b3adefc47cecbb9b5fc830ab4 /zfs_snapshot_cleanup.sh
parent1a0e2558fa5c27c77662834adb17357e3ecfdad7 (diff)
downloadbin-964185d1a267ddcf79ac3517bc7145a141ea3c32.tar.gz
bin-964185d1a267ddcf79ac3517bc7145a141ea3c32.tar.xz
add zfs snapshot helpers
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'zfs_snapshot_cleanup.sh')
-rwxr-xr-xzfs_snapshot_cleanup.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/zfs_snapshot_cleanup.sh b/zfs_snapshot_cleanup.sh
new file mode 100755
index 0000000..ba743ac
--- /dev/null
+++ b/zfs_snapshot_cleanup.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+if (($#<3)); then
+ echo "usage: ${0##*/} <filesystem|volume> <snapshot prefix> <number of snapshots to keep>"
+ exit 1
+fi
+
+filesystem=$1
+snapshotname=$2
+keep=$3
+
+keep=$((keep+1))
+
+zfs list -H -t snapshot -o name -S creation -d1 "$filesystem" | grep "^$filesystem@$snapshotname" | tail -n +$keep | xargs -r -n 1 zfs destroy -r