periodic: Make daily diff(1) flags configurable with daily_diff_flags

PR:		270266
Approved by:	jrm (mentor), karels
MFC after:	1 month
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D42900
This commit is contained in:
Michael Osipov 2023-11-24 10:26:41 +01:00
parent 3aa71ea7c2
commit 15e35d058c
7 changed files with 12 additions and 6 deletions

View file

@ -639,6 +639,11 @@ but specific to the pool
Set to a list of extra scripts that should be run after all other
daily scripts.
All scripts must be absolute path names.
.It Va daily_diff_flags
.Pq Vt str
Set to the arguments to pass to the
.Xr diff 1
utility when generating differences.
.El
.Pp
The following variables are used by the standard scripts that reside in

View file

@ -40,7 +40,7 @@ case "$daily_backup_passwd_enable" in
then
[ $rc -lt 1 ] && rc=1
echo "$host passwd diffs:"
diff -uI '^#' $bak/master.passwd.bak /etc/master.passwd |\
diff ${daily_diff_flags:--u} -I '^#' $bak/master.passwd.bak /etc/master.passwd |\
sed 's/^\([-+ ][^:]*\):[^:]*:/\1:(password):/'
mv $bak/master.passwd.bak $bak/master.passwd.bak2
cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3
@ -57,7 +57,7 @@ case "$daily_backup_passwd_enable" in
then
[ $rc -lt 1 ] && rc=1
echo "$host group diffs:"
diff -u $bak/group.bak /etc/group
diff ${daily_diff_flags:--u} $bak/group.bak /etc/group
mv $bak/group.bak $bak/group.bak2
cp -p /etc/group $bak/group.bak || rc=3
fi

View file

@ -34,7 +34,7 @@ case "$daily_backup_aliases_enable" in
then
[ $rc -lt 1 ] && rc=1
echo "$host aliases diffs:"
diff -u $bak/aliases.bak /etc/mail/aliases
diff ${daily_diff_flags:--u} $bak/aliases.bak /etc/mail/aliases
mv $bak/aliases.bak $bak/aliases.bak2
cp -p /etc/mail/aliases $bak/aliases.bak || rc=3
fi

View file

@ -27,7 +27,7 @@ rotate() {
rm "${file}.tmp"
else
rc=1
[ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp"
[ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp"
mv "${file}.bak" "${file}.bak2" || rc=3
mv "${file}.tmp" "${file}.bak" || rc=3
fi

View file

@ -25,7 +25,7 @@ rotate() {
rm "${file}.tmp"
else
rc=1
[ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp"
[ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp"
mv "${file}.bak" "${file}.bak2" || rc=3
mv "${file}.tmp" "${file}.bak" || rc=3
fi

View file

@ -25,7 +25,7 @@ rotate() {
rm "${file}.tmp"
else
rc=1
[ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp"
[ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp"
mv "${file}.bak" "${file}.bak2" || rc=3
mv "${file}.tmp" "${file}.bak" || rc=3
fi

View file

@ -31,6 +31,7 @@ anticongestion_sleeptime=3600
# that output. $daily_output might be set to /var/log/daily.log if you
# wish to log the daily output and have the files rotated by newsyslog(8)
#
daily_diff_flags="" # flags for diff output
daily_output="root" # user or /file
daily_show_success="YES" # scripts returning 0
daily_show_info="YES" # scripts returning 1