xref: /freebsd/usr.sbin/periodic/etc/daily/210.backup-aliases (revision e2f6bafc3887c7752986526f3758525d24701fce)
181ea85a8SBrad Davis#!/bin/sh
281ea85a8SBrad Davis#
381ea85a8SBrad Davis#
481ea85a8SBrad Davis
581ea85a8SBrad Davis# If there is a global system configuration file, suck it in.
681ea85a8SBrad Davis#
781ea85a8SBrad Davisif [ -r /etc/defaults/periodic.conf ]
881ea85a8SBrad Davisthen
981ea85a8SBrad Davis    . /etc/defaults/periodic.conf
1081ea85a8SBrad Davis    source_periodic_confs
1181ea85a8SBrad Davisfi
1281ea85a8SBrad Davis
1381ea85a8SBrad Daviscase "$daily_backup_aliases_enable" in
1481ea85a8SBrad Davis    [Yy][Ee][Ss])
1581ea85a8SBrad Davis	if [ ! -f /etc/mail/aliases ]
1681ea85a8SBrad Davis	then
1781ea85a8SBrad Davis	    echo '$daily_backup_aliases_enable is enabled but' \
1881ea85a8SBrad Davis		"/etc/mail/aliases doesn't exist"
1981ea85a8SBrad Davis	    rc=2
2081ea85a8SBrad Davis	else
2181ea85a8SBrad Davis	    bak=/var/backups
2281ea85a8SBrad Davis	    rc=0
2381ea85a8SBrad Davis
2481ea85a8SBrad Davis	    echo ""
2581ea85a8SBrad Davis	    echo "Backing up mail aliases:"
2681ea85a8SBrad Davis
2781ea85a8SBrad Davis	    if [ ! -f $bak/aliases.bak ]
2881ea85a8SBrad Davis	    then
2981ea85a8SBrad Davis		echo "no $bak/aliases.bak"
3081ea85a8SBrad Davis		cp -p /etc/mail/aliases $bak/aliases.bak || rc=3
3181ea85a8SBrad Davis	    fi
3281ea85a8SBrad Davis
3381ea85a8SBrad Davis	    if ! cmp -s $bak/aliases.bak /etc/mail/aliases
3481ea85a8SBrad Davis	    then
3581ea85a8SBrad Davis		[ $rc -lt 1 ] && rc=1
3681ea85a8SBrad Davis		echo "$host aliases diffs:"
37*e2f6bafcSMichael Osipov		diff ${daily_diff_flags} $bak/aliases.bak /etc/mail/aliases
3881ea85a8SBrad Davis		mv $bak/aliases.bak $bak/aliases.bak2
3981ea85a8SBrad Davis		cp -p /etc/mail/aliases $bak/aliases.bak || rc=3
4081ea85a8SBrad Davis	    fi
4181ea85a8SBrad Davis	fi;;
4281ea85a8SBrad Davis
4381ea85a8SBrad Davis    *)  rc=0;;
4481ea85a8SBrad Davisesac
4581ea85a8SBrad Davis
4681ea85a8SBrad Davisexit $rc
47