git: 4b1d3a30914e - main - daily/223.backup-zfs: improve daily_backup_zfs_verbose behaviour
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 02 Feb 2024 18:28:12 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=4b1d3a30914e176e9fd2c363db81c26124a8ee30
commit 4b1d3a30914e176e9fd2c363db81c26124a8ee30
Author: Lexi Winter <lexi@le-Fay.ORG>
AuthorDate: 2024-02-02 18:18:54 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-02-02 18:27:05 +0000
daily/223.backup-zfs: improve daily_backup_zfs_verbose behaviour
- 223.backup-zfs would previously honour the daily_backup_zfs_verbose
flag for zfs/zpool list, but not for the properties list. fix it to
show a diff for both of these if requested.
- if daily_backup_zfs_verbose was disabled, 223.backup-zfs would still
set rc=1 if the backup files changed, which caused periodic(8) to send
a useless email even if daily_show_success=NO was set.
change this so that it only sets rc=1 if diff output is enabled, i.e.
the output is actually useful to the admin.
MFC after: 2 weeks
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1091
---
usr.sbin/periodic/etc/daily/223.backup-zfs | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/usr.sbin/periodic/etc/daily/223.backup-zfs b/usr.sbin/periodic/etc/daily/223.backup-zfs
index a49bbb2eaa04..e76421220a0b 100755
--- a/usr.sbin/periodic/etc/daily/223.backup-zfs
+++ b/usr.sbin/periodic/etc/daily/223.backup-zfs
@@ -13,6 +13,7 @@ then
fi
bak_dir=/var/backups
+rc=0
rotate() {
base_name=$1
@@ -20,12 +21,13 @@ rotate() {
file="$bak_dir/$base_name"
if [ -f "${file}.bak" ] ; then
- rc=0
if cmp -s "${file}.bak" "${file}.tmp"; then
rm "${file}.tmp"
else
- rc=1
- [ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp"
+ if [ -n "$show_diff" ]; then
+ rc=1
+ diff ${daily_diff_flags} "${file}.bak" "${file}.tmp"
+ fi
mv "${file}.bak" "${file}.bak2" || rc=3
mv "${file}.tmp" "${file}.bak" || rc=3
fi
@@ -36,6 +38,7 @@ rotate() {
fi
}
+show=""
case "$daily_backup_zfs_verbose" in
[Yy][Ee][Ss]) show="YES"
esac
@@ -43,9 +46,9 @@ esac
case "$daily_backup_zfs_enable" in
[Yy][Ee][Ss])
- zpools=$(zpool list $daily_backup_zpool_list_flags)
+ zpools=$(zpool list $daily_backup_zpool_list_flags)
- if [ -z "$zpools" ]; then
+ if [ -z "$zpools" ]; then
echo 'daily_backup_zfs_enable is set to YES but no zpools found.'
rc=2
else
@@ -59,18 +62,17 @@ case "$daily_backup_zfs_enable" in
rotate "zfs_list" $show
fi
;;
- *) rc=0;;
esac
case "$daily_backup_zfs_props_enable" in
- [Yy][Ee][Ss])
+ [Yy][Ee][Ss])
- zfs get $daily_backup_zfs_get_flags > "$bak_dir/zfs_props.tmp"
- rotate "zfs_props"
+ zfs get $daily_backup_zfs_get_flags > "$bak_dir/zfs_props.tmp"
+ rotate "zfs_props" $show
- zpool get $daily_backup_zpool_get_flags > "$bak_dir/zpool_props.tmp"
- rotate "zpool_props"
- ;;
+ zpool get $daily_backup_zpool_get_flags > "$bak_dir/zpool_props.tmp"
+ rotate "zpool_props" $show
+ ;;
esac
exit $rc