Skip to content

Commit 1294511

Browse files
author
Jonathan Carter
authored
Merge pull request #107 from ArakniD/master
Updated zfs-auto-snapshot.sh
2 parents d5646c9 + 4a59d0d commit 1294511

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/zfs-auto-snapshot.sh

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -396,12 +396,24 @@ ZFS_LIST=$(env LC_ALL=C zfs list -H -t filesystem,volume -s name \
396396

397397
if [ -n "$opt_fast_zfs_list" ]
398398
then
399-
SNAPSHOTS_OLD=$(env LC_ALL=C zfs list -H -t snapshot -o name -s name | \
400-
grep $opt_prefix | \
401-
awk '{ print substr( $0, length($0) - 14, length($0) ) " " $0}' | \
402-
sort -r -k1,1 -k2,2 | \
403-
awk '{ print substr( $0, 17, length($0) )}') \
404-
|| { print_log error "zfs list $?: $SNAPSHOTS_OLD"; exit 137; }
399+
# Check if a snapshot label is being used, in which case restrict the old
400+
# snapshot removal to only snapshots with the same label format
401+
if [ -n "$opt_label" ]
402+
then
403+
SNAPSHOTS_OLD=$(env LC_ALL=C zfs list -H -t snapshot -o name -s name | \
404+
grep "$opt_prefix"_"$opt_label" | \
405+
awk '{ print substr( $0, length($0) - 14, length($0) ) " " $0}' | \
406+
sort -r -k1,1 -k2,2 | \
407+
awk '{ print substr( $0, 17, length($0) )}') \
408+
|| { print_log error "zfs list $?: $SNAPSHOTS_OLD"; exit 137; }
409+
else
410+
SNAPSHOTS_OLD=$(env LC_ALL=C zfs list -H -t snapshot -o name -s name | \
411+
grep $opt_prefix | \
412+
awk '{ print substr( $0, length($0) - 14, length($0) ) " " $0}' | \
413+
sort -r -k1,1 -k2,2 | \
414+
awk '{ print substr( $0, 17, length($0) )}') \
415+
|| { print_log error "zfs list $?: $SNAPSHOTS_OLD"; exit 137; }
416+
fi
405417
else
406418
SNAPSHOTS_OLD=$(env LC_ALL=C zfs list -H -t snapshot -S creation -o name) \
407419
|| { print_log error "zfs list $?: $SNAPSHOTS_OLD"; exit 137; }

0 commit comments

Comments
 (0)