diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 9, 2022 +.Dd December 4, 2023 .Dt PERIODIC.CONF 5 .Os .Sh NAME @@ -639,6 +639,13 @@ 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. +The default is +.Fl b u . .El .Pp The following variables are used by the standard scripts that reside in diff --git a/usr.sbin/periodic/etc/daily/200.backup-passwd b/usr.sbin/periodic/etc/daily/200.backup-passwd --- a/usr.sbin/periodic/etc/daily/200.backup-passwd +++ b/usr.sbin/periodic/etc/daily/200.backup-passwd @@ -40,7 +40,7 @@ then [ $rc -lt 1 ] && rc=1 echo "$host passwd diffs:" - diff -uI '^#' $bak/master.passwd.bak /etc/master.passwd |\ + diff ${daily_diff_flags} -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 @@ then [ $rc -lt 1 ] && rc=1 echo "$host group diffs:" - diff -u $bak/group.bak /etc/group + diff ${daily_diff_flags} $bak/group.bak /etc/group mv $bak/group.bak $bak/group.bak2 cp -p /etc/group $bak/group.bak || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/210.backup-aliases b/usr.sbin/periodic/etc/daily/210.backup-aliases --- a/usr.sbin/periodic/etc/daily/210.backup-aliases +++ b/usr.sbin/periodic/etc/daily/210.backup-aliases @@ -34,7 +34,7 @@ then [ $rc -lt 1 ] && rc=1 echo "$host aliases diffs:" - diff -u $bak/aliases.bak /etc/mail/aliases + diff ${daily_diff_flags} $bak/aliases.bak /etc/mail/aliases mv $bak/aliases.bak $bak/aliases.bak2 cp -p /etc/mail/aliases $bak/aliases.bak || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/221.backup-gpart b/usr.sbin/periodic/etc/daily/221.backup-gpart --- a/usr.sbin/periodic/etc/daily/221.backup-gpart +++ b/usr.sbin/periodic/etc/daily/221.backup-gpart @@ -27,7 +27,7 @@ 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 diff --git a/usr.sbin/periodic/etc/daily/222.backup-gmirror b/usr.sbin/periodic/etc/daily/222.backup-gmirror --- a/usr.sbin/periodic/etc/daily/222.backup-gmirror +++ b/usr.sbin/periodic/etc/daily/222.backup-gmirror @@ -25,7 +25,7 @@ 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 diff --git a/usr.sbin/periodic/etc/daily/223.backup-zfs b/usr.sbin/periodic/etc/daily/223.backup-zfs --- a/usr.sbin/periodic/etc/daily/223.backup-zfs +++ b/usr.sbin/periodic/etc/daily/223.backup-zfs @@ -25,7 +25,7 @@ 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 diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -31,6 +31,7 @@ # 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="-u" # flags for diff output daily_output="root" # user or /file daily_show_success="YES" # scripts returning 0 daily_show_info="YES" # scripts returning 1