Files
fs-scripts/zfs/zfs-clean.sh

27 lines
594 B
Bash

#!/bin/bash
set -euo pipefail
clear-apt-snaps () {
zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
}
if [ -z "$1" ]; then
exit 1
fi
if [ -n "$1" ] && [ "$1" == "upgrades" ]; then
shift
while getopts "r:" opt; do
case "$opt" in
r) REGEX=${OPTARG};;
*) exit 1;;
esac
done
if [ -z "$REGEX" ]; then
clear-apt-snaps
else
zfs list -t snapshot | grep "${REGEX}" | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
fi
fi