ansitest/ZFS/zfs-killsnaps.sh
2021-04-12 17:36:04 -05:00

29 lines
616 B
Bash

#!/bin/bash
# REF: https://sysadminman.net/blog/2008/remove-all-zfs-snapshots-50
# destroy arg snapshots on pool (to free space) and track what got killed
# NOTE does NOT do Recursive and can grep on whatever criteria matches!
# NOTE no logfile rotation
# 2014 Dave Bechtel
#crit=daily
crit=weekly
#crit=$zp
[ "$1" = "" ] || crit="$1"
logfile=/root/zfs-killsnaps.log
function dokill () {
crit=$1
for snapshot in $(zfs list -H -t snapshot |grep $crit | cut -f 1)
do
echo "$(date) - Killing $snapshot" |tee -a $logfile
time zfs destroy $snapshot
done
}
dokill $crit
#dokill hourly
#dokill weekly