daily revision 1.3
11.1Scgd#!/bin/sh -
21.1Scgd#
31.1Scgd#	@(#)daily	5.12 (Berkeley) 5/24/91
41.1Scgd#
51.1ScgdPATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local
61.1Scgdhost=`hostname -s`
71.1Scgdecho "Subject: $host daily run output"
81.1Scgdbak=/var/backups
91.1Scgd
101.1Scgdecho ""
111.1Scgdecho "Removing scratch and junk files:"
121.1Scgdif [ -d /tmp ]; then
131.1Scgd	cd /tmp && {
141.1Scgd	find . -type f -atime +3 -exec rm -f -- {} \;
151.1Scgd	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
161.1Scgd	    >/dev/null 2>&1; }
171.1Scgdfi
181.1Scgd
191.1Scgdif [ -d /var/tmp ]; then
201.1Scgd	cd /var/tmp && {
211.1Scgd	find . ! -name . -atime +7 -exec rm -f -- {} \;
221.1Scgd	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
231.1Scgd	    >/dev/null 2>&1; }
241.1Scgdfi
251.1Scgd
261.1Scgdif [ -d /scratch ]; then
271.1Scgd	cd /scratch && {
281.1Scgd	find . ! -name . -atime +1 -exec rm -f -- {} \;
291.1Scgd	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
301.1Scgd	    >/dev/null 2>&1; }
311.1Scgdfi
321.1Scgd
331.1Scgdif [ -d /var/preserve ]; then
341.1Scgd	cd /var/preserve && {
351.1Scgd	find . ! -name . -mtime +7 -exec rm -f -- {} \; ; }
361.1Scgdfi
371.1Scgd
381.1Scgdif [ -d /var/rwho ] ; then
391.1Scgd	cd /var/rwho && {
401.1Scgd	find . ! -name . -mtime +7 -exec rm -f -- {} \; ; }
411.1Scgdfi
421.1Scgd
431.1Scgdcd /tmp
441.1Scgdfind / ! -fstype local -a -prune -o \
451.1Scgd	\( -name '[#,]*' -o -name '.#*' -o -name a.out -o -name core \
461.1Scgd	   -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
471.1Scgd		-a -atime +3 -exec rm -f -- {} \;
481.2Scgd#msgs -c
491.1Scgdif [ -f /etc/news.expire ]; then
501.1Scgd	/etc/news.expire
511.1Scgdfi
521.1Scgd
531.2Scgdif [ -f /var/account ]; then
541.2Scgd	echo "" ;
551.2Scgd	echo "Purging accounting records:" ;
561.2Scgd	mv /var/account/acct.2 /var/account/acct.3 ;
571.2Scgd	mv /var/account/acct.1 /var/account/acct.2 ;
581.2Scgd	mv /var/account/acct.0 /var/account/acct.1 ;
591.2Scgd	cp /var/account/acct /var/account/acct.0 ;
601.2Scgd	sa -s > /dev/null ;
611.2Scgdfi
621.1Scgd
631.1Scgdecho ""
641.1Scgdecho "Backup passwd and group files:"
651.1Scgdif cmp -s $bak/master.passwd.bak /etc/master.passwd; then :; else
661.1Scgd	echo "$host passwd diffs:"
671.1Scgd	diff $bak/master.passwd.bak /etc/master.passwd
681.1Scgd	mv $bak/master.passwd.bak $bak/master.passwd.bak2
691.1Scgd	cp -p /etc/master.passwd $bak/master.passwd.bak
701.1Scgdfi
711.1Scgdif cmp -s $bak/group.bak /etc/group; then :; else
721.1Scgd	mv $bak/group.bak $bak/group.bak2
731.1Scgd	cp -p /etc/group $bak/group.bak
741.1Scgdfi
751.1Scgdif cmp -s $bak/aliases.bak /etc/aliases; then :; else
761.1Scgd	mv $bak/aliases.bak $bak/aliases.bak2
771.1Scgd	cp -p /etc/aliases $bak/aliases.bak
781.1Scgdfi
791.1Scgdif [ -f /etc/Distfile ]; then
801.1Scgd	if cmp -s $bak/Distfile.bak /etc/Distfile; then :; else
811.1Scgd		mv $bak/Distfile.bak $bak/Distfile.bak2
821.1Scgd		cp /etc/Distfile $bak/Distfile.bak
831.1Scgd	fi
841.1Scgdfi
851.1Scgd
861.1Scgdecho ""
871.1Scgdecho "Running calendar:"
881.1Scgdcalendar -a
891.1Scgd
901.3Sglassif [ -d /usr/share/man -a -f /usr/share/man/makewhatis.sed ]; then
911.1Scgdecho ""
921.3Sglassecho "Updating 'whatis' database:"
931.3Sglasscd /usr/share/man
941.3Sglasscat cat?/*.0 cat?/`machine`/*.0 | sed -f /usr/share/man/makewhatis.sed > /usr/share/man/whatis.db
951.3Sglasscd /
961.3Sglassfi
971.3Sglass
981.3Sglassecho ""
991.1Scgdecho "Rotating mail log:"
1001.1Scgdcd /var/log
1011.2Scgdrm -f maillog.7.Z
1021.2Scgdif [ -f maillog.6.Z ]; then mv -f maillog.6.Z  maillog.7.Z; fi
1031.2Scgdif [ -f maillog.5.Z ]; then mv -f maillog.5.Z  maillog.6.Z; fi
1041.2Scgdif [ -f maillog.4.Z ]; then mv -f maillog.4.Z  maillog.5.Z; fi
1051.2Scgdif [ -f maillog.3.Z ]; then mv -f maillog.3.Z  maillog.4.Z; fi
1061.2Scgdif [ -f maillog.2.Z ]; then mv -f maillog.2.Z  maillog.3.Z; fi
1071.2Scgdif [ -f maillog.1.Z ]; then mv -f maillog.1.Z  maillog.2.Z; fi
1081.2Scgdif [ -f maillog.0.Z ]; then mv -f maillog.0.Z  maillog.1.Z; fi
1091.1Scgdmv -f maillog maillog.0
1101.2Scgdcompress -f maillog.0
1111.1Scgdcp /dev/null maillog
1121.2Scgdchmod 600    maillog
1131.1Scgdkill -1 `cat /var/run/syslog.pid`
1141.2Scgd
1151.2Scgd
1161.1Scgdcd /
1171.1Scgd
1181.1Scgdif [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then
1191.1Scgd	echo ""
1201.1Scgd	echo "Cleaning up UUCP:"
1211.1Scgd	echo /etc/uuclean.daily | su daemon
1221.1Scgdfi
1231.1Scgd
1241.1Scgdecho ""
1251.1Scgdecho ""
1261.1Scgdecho "Checking subsystem status:"
1271.1Scgdecho ""
1281.1Scgdecho "disks:"
1291.1Scgddf -k
1301.1Scgdecho ""
1311.1Scgddump W
1321.1Scgdecho ""
1331.1Scgd
1341.1Scgd
1351.1Scgdecho ""
1361.1Scgdecho "mail:"
1371.1Scgdmailq
1381.1Scgd
1391.1Scgdif [ -d /var/spool/uucp ]; then
1401.1Scgd	echo ""
1411.1Scgd	echo "uucp:"
1421.2Scgd	uustat -a
1431.1Scgdfi
1441.1Scgd
1451.1Scgdecho ""
1461.1Scgdecho "network:"
1471.1Scgdnetstat -i
1481.1Scgdecho ""
1491.1Scgdruptime
1501.1Scgd
1511.1Scgdecho ""
1521.1Scgdecho "Checking filesystems:"
1531.1Scgdfsck -n | grep -v '^\*\* Phase'
1541.1Scgd
1551.1Scgdecho ""
1561.1Scgdif [ -f /etc/Distfile ]; then
1571.1Scgd	echo "Running rdist:"
1581.1Scgd	rdist -f /etc/Distfile
1591.1Scgdfi
1601.1Scgd
1611.1Scgdsh /etc/security | mail -s "daily insecurity output" root
162