Compare commits
1 Commits
main
...
07c189e962
| Author | SHA1 | Date | |
|---|---|---|---|
| 07c189e962 |
29
zfs-auto-snapshot.sh
Executable file
29
zfs-auto-snapshot.sh
Executable file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user