ports/sysutils/zfsnap2/files/patch-periodic_xPERIODICx__zfsnap.sh
Alan Somers 876153fccf sysutils/zfsnap2: must install periodic script in relevant directory.
Previously they were installed to %%EXAMPLESDIR%%.  This commit also
combines the create and delete scripts into one, and fixes a bug in the
delete script.

Upstream PR:	https://github.com/zfsnap/zfsnap/pull/112

PR:		221689
Reported by:	Anton Saietskii <vsasjason@gmail.com>
Approved by:	dmgk (ports) mm (maintainer timeout)
Sponsored by:	Axcient
2020-08-20 01:37:05 +00:00

48 lines
2.6 KiB
Bash

--- periodic/xPERIODICx_zfsnap.sh.orig 2020-07-28 02:17:05 UTC
+++ periodic/xPERIODICx_zfsnap.sh
@@ -11,23 +11,29 @@ fi
# xPERIODICx_zfsnap_enable - Enable xPERIODICx snapshots (values: YES | NO)
# xPERIODICx_zfsnap_flags - `zfsnap snapshot` flags
-# xPERIODICx_zfsnap_fs - Space-separated ZFS filesystems to create non-recursive snapshots
-# xPERIODICx_zfsnap_recursive_fs - Space-separated ZFS filesystems to create recursive snapshots
+# xPERIODICx_zfsnap_delete_flags - `zfsnap destroy` flags
+# xPERIODICx_zfsnap_fs - Space-separated ZFS filesystems to manage non-recursive snapshots
+# xPERIODICx_zfsnap_recursive_fs - Space-separated ZFS filesystems to manage recursive snapshots
# xPERIODICx_zfsnap_ttl - Explicit TTL value
# xPERIODICx_zfsnap_verbose - Verbose output (values: YES | NO)
# xPERIODICx_zfsnap_enable_prefix - Create snapshots with prefix (values: YES | NO) (Default = YES)
# xPERIODICx_zfsnap_prefix - set prefix for snapshots (Default = xPERIODICx)
+# xPERIODICx_zfsnap_delete_prefixes - Space-separated list of prefixes of expired zfsnap snapshots to delete
case "${xPERIODICx_zfsnap_enable-"NO"}" in
[Yy][Ee][Ss])
- OPTIONS="$xPERIODICx_zfsnap_flags"
+ CREATE_OPTIONS="$xPERIODICx_zfsnap_flags"
+ DESTROY_OPTIONS="$xPERIODICx_zfsnap_delete_flags"
case "${xPERIODICx_zfsnap_verbose-"NO"}" in
- [Yy][Ee][Ss]) OPTIONS="$OPTIONS -v" ;;
+ [Yy][Ee][Ss])
+ CREATE_OPTIONS="$CREATE_OPTIONS -v"
+ DESTROY_OPTIONS="$DESTROY_OPTIONS -v"
+ ;;
esac
case "${xPERIODICx_zfsnap_enable_prefix-"YES"}" in
- [Yy][Ee][Ss]) OPTIONS="$OPTIONS -p ${xPERIODICx_zfsnap_prefix:-"xPERIODICx-"}" ;;
+ [Yy][Ee][Ss]) CREATE_OPTIONS="$CREATE_OPTIONS -p ${xPERIODICx_zfsnap_prefix:-"xPERIODICx-"}" ;;
esac
case 'xPERIODICx' in
@@ -49,7 +55,9 @@ case "${xPERIODICx_zfsnap_enable-"NO"}" in
;;
esac
- xPREFIXx/zfsnap snapshot $OPTIONS -a ${xPERIODICx_zfsnap_ttl:-"$default_ttl"} $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs
+ # Destroy before create, just in case the pool is out of space
+ xPREFIXx/zfsnap destroy $DESTROY_OPTIONS -p "hourly- daily- weekly- monthly- reboot- $xPERIODICx_zfsnap_delete_prefixes" $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs && \
+ xPREFIXx/zfsnap snapshot $CREATE_OPTIONS -a ${xPERIODICx_zfsnap_ttl:-"$default_ttl"} $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs
exit $?
;;