From 07c189e962ce9083515bc12d9d419b6bd0c8ac74 Mon Sep 17 00:00:00 2001 From: Julien Lutran Date: Mon, 8 Dec 2025 16:14:46 +0100 Subject: [PATCH] Add zfs-auto-snapshot.sh script --- zfs-auto-snapshot.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 zfs-auto-snapshot.sh diff --git a/zfs-auto-snapshot.sh b/zfs-auto-snapshot.sh new file mode 100755 index 0000000..a63d2f9 --- /dev/null +++ b/zfs-auto-snapshot.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Create zfs snapshots for $DATASET +# https://github.com/bahamas10/zfs-prune-snapshots +# + +#set -x + +while getopts d:e: flag +do + case "${flag}" in + d) DATASET=${OPTARG};; + e) EXPIRATION=${OPTARG};; + esac +done + +DATE=$(date '+%Y-%m-%d %H:%M:%S') + +TS=$(date '+%s') +ZFS=$(which zfs) +CMD="$ZFS snapshot ${DATASET}@snap${TS}" +echo "[${DATE}] $CMD" +$CMD 2>&1 > /dev/null + +ZFS_PRUNE_SNAPSHOTS=$(which zfs-prune-snapshots) +CMD="$ZFS_PRUNE_SNAPSHOTS -p 'snap' $EXPIRATION $DATASET" +echo "[${DATE}] $CMD" +$CMD 2>&1 > /dev/null +