summaryrefslogtreecommitdiff
path: root/debian/sendmail.cron.daily
blob: c2abbe490eb831eef6ce05aa22080b396d1b2c63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh
set +e

copies=2

# backup "/etc/mail/sendmail.mc"
if [ -f /etc/mail/sendmail.mc ]; then
	if [ ! -f /var/backups/sendmail.mc.bak ]; then
		cp -pf /etc/mail/sendmail.mc /var/backups/sendmail.mc.bak
	   	fi;
	if ! cmp -s /var/backups/sendmail.mc.bak /etc/mail/sendmail.mc ; then
		cd /var/backups
		/usr/bin/savelog -p -c $copies sendmail.mc.bak > /dev/null
		cp -pf /etc/mail/sendmail.mc /var/backups/sendmail.mc.bak
		fi;
	fi;

# while we're here, might as well do sendmail.cf
if [ -f /etc/mail/sendmail.cf ]; then
	if [ ! -f /var/backups/sendmail.cf.bak ]; then
		cp -pf /etc/mail/sendmail.cf /var/backups/sendmail.cf.bak
		fi;
	if ! cmp -s /var/backups/sendmail.cf.bak /etc/mail/sendmail.cf ; then
		cd /var/backups
		# save previous generation only if differences are significant
		diff -bBwI "^\#\#\#\#\# " \
			/var/backups/sendmail.cf.bak /etc/mail/sendmail.cf \
			> /dev/null
		if [ $? -ne 0 ]; then
			/usr/bin/savelog -p -c $copies sendmail.cf.bak \
				> /dev/null
			fi;
		cp -pf /etc/mail/sendmail.cf /var/backups/sendmail.cf.bak
		fi;
	fi;