daily revision 1.15
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.1Scgd
91.10Scgdecho ""
101.10Scgdecho "Removing scratch and junk files:"
111.10Scgdif [ -d /tmp -a ! -h /tmp ]; then
121.10Scgd	cd /tmp && {
131.10Scgd	find . -type f -atime +3 -exec rm -f -- {} \;
141.10Scgd	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
151.10Scgd	    >/dev/null 2>&1; }
161.10Scgdfi
171.1Scgd
181.10Scgdif [ -d /var/tmp -a ! -h /var/tmp ]; then
191.10Scgd	cd /var/tmp && {
201.10Scgd	find . ! -name . -atime +7 -exec rm -f -- {} \;
211.10Scgd	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
221.10Scgd	    >/dev/null 2>&1; }
231.10Scgdfi
241.10Scgd
251.15Spk# Additional junk directory cleanup would go like this:
261.15Spk#if [ -d /scratch -a ! -h /scratch ]; then
271.15Spk#	cd /scratch && {
281.15Spk#	find . ! -name . -atime +1 -exec rm -f -- {} \;
291.15Spk#	find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
301.15Spk#	    >/dev/null 2>&1; }
311.15Spk#fi
321.10Scgd
331.10Scgd# XXX should go away/be replaced by nvi version
341.10Scgdif [ -d /var/preserve -a ! -h /var/preserve ]; then
351.10Scgd	cd /var/preserve && {
361.10Scgd	find . ! -name . -mtime +7 -exec rm -f -- {} \; ; }
371.10Scgdfi
381.10Scgd
391.10Scgdif [ -d /var/rwho -a ! -h /var/rwho ] ; then
401.10Scgd	cd /var/rwho && {
411.10Scgd	find . ! -name . -mtime +7 -exec rm -f -- {} \; ; }
421.10Scgdfi
431.10Scgd
441.10Scgdcd /tmp
451.10ScgdTMP=daily.$$
461.10Scgdfind / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \
471.14Smycroft		-o -fstype kernfs -o -fstype procfs \) -a -prune -o \
481.10Scgd	-name 'lost+found' -a -prune -o \
491.10Scgd	-name '*.core' -a -print -o \
501.10Scgd	\( -name '[#,]*' -o -name '.#*' -o -name a.out \
511.10Scgd	   -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
521.10Scgd		-a -atime +3 -exec rm -f -- {} \; -a -print > $TMP
531.10Scgd
541.10Scgdecho ""
551.10Scgdecho "Possible core dumps:"
561.10Scgdegrep '\.core' $TMP
571.10Scgd
581.10Scgdecho ""
591.10Scgdecho "Deleted files:"
601.10Scgdegrep -v '\.core' $TMP
611.10Scgd
621.11Scgdrm -f $TMP
631.11Scgd
641.10Scgdmsgs -c
651.1Scgd
661.1Scgdif [ -f /etc/news.expire ]; then
671.1Scgd	/etc/news.expire
681.1Scgdfi
691.1Scgd
701.12Scgdif [ -f /var/account/acct ]; then
711.12Scgd	echo "" ;
721.12Scgd	echo "Purging accounting records:" ;
731.12Scgd	mv /var/account/acct.2 /var/account/acct.3 ;
741.12Scgd	mv /var/account/acct.1 /var/account/acct.2 ;
751.12Scgd	mv /var/account/acct.0 /var/account/acct.1 ;
761.12Scgd	cp /var/account/acct /var/account/acct.0 ;
771.12Scgd	sa -sq ;
781.1Scgdfi
791.1Scgd
801.1Scgdecho ""
811.1Scgdecho "Running calendar:"
821.1Scgdcalendar -a
831.1Scgd
841.6Scgd# Rotation of mail log now handled automatically by cron and 'newsyslog'
851.1Scgd
861.1Scgdif [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then
871.1Scgd	echo ""
881.1Scgd	echo "Cleaning up UUCP:"
891.1Scgd	echo /etc/uuclean.daily | su daemon
901.1Scgdfi
911.1Scgd
921.1Scgdecho ""
931.1Scgdecho ""
941.1Scgdecho "Checking subsystem status:"
951.1Scgdecho ""
961.1Scgdecho "disks:"
971.1Scgddf -k
981.1Scgdecho ""
991.1Scgddump W
1001.1Scgdecho ""
1011.1Scgd
1021.1Scgd
1031.1Scgdecho ""
1041.1Scgdecho "mail:"
1051.1Scgdmailq
1061.1Scgd
1071.1Scgdif [ -d /var/spool/uucp ]; then
1081.1Scgd	echo ""
1091.1Scgd	echo "uucp:"
1101.2Scgd	uustat -a
1111.1Scgdfi
1121.1Scgd
1131.1Scgdecho ""
1141.1Scgdecho "network:"
1151.1Scgdnetstat -i
1161.1Scgdecho ""
1171.1Scgdruptime
1181.1Scgd
1191.1Scgdecho ""
1201.1Scgdecho "Checking filesystems:"
1211.1Scgdfsck -n | grep -v '^\*\* Phase'
1221.1Scgd
1231.1Scgdecho ""
1241.1Scgdif [ -f /etc/Distfile ]; then
1251.1Scgd	echo "Running rdist:"
1261.1Scgd	rdist -f /etc/Distfile
1271.1Scgdfi
1281.1Scgd
1291.7Scgdsh /etc/security 2>&1 | mail -s "daily insecurity output" root
130