daily revision 1.7
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.5Scgdfind / \( ! -fstype local -o -fstype fdesc -o -fstype kernfs \) -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.6Scgd# Rotation of accounting log now handled automatically by cron and 'newsyslog' 541.6Scgd# eventually might want to replace "sa" though... 551.6Scgd# 561.6Scgd#if [ -f /var/account ]; then 571.6Scgd# echo "" ; 581.6Scgd# echo "Purging accounting records:" ; 591.6Scgd# mv /var/account/acct.2 /var/account/acct.3 ; 601.6Scgd# mv /var/account/acct.1 /var/account/acct.2 ; 611.6Scgd# mv /var/account/acct.0 /var/account/acct.1 ; 621.6Scgd# cp /var/account/acct /var/account/acct.0 ; 631.6Scgd# sa -s > /dev/null ; 641.6Scgd#fi 651.1Scgd 661.1Scgdecho "" 671.1Scgdecho "Backup passwd and group files:" 681.1Scgdif cmp -s $bak/master.passwd.bak /etc/master.passwd; then :; else 691.1Scgd echo "$host passwd diffs:" 701.1Scgd diff $bak/master.passwd.bak /etc/master.passwd 711.1Scgd mv $bak/master.passwd.bak $bak/master.passwd.bak2 721.1Scgd cp -p /etc/master.passwd $bak/master.passwd.bak 731.1Scgdfi 741.1Scgdif cmp -s $bak/group.bak /etc/group; then :; else 751.1Scgd mv $bak/group.bak $bak/group.bak2 761.1Scgd cp -p /etc/group $bak/group.bak 771.1Scgdfi 781.1Scgdif cmp -s $bak/aliases.bak /etc/aliases; then :; else 791.1Scgd mv $bak/aliases.bak $bak/aliases.bak2 801.1Scgd cp -p /etc/aliases $bak/aliases.bak 811.1Scgdfi 821.1Scgdif [ -f /etc/Distfile ]; then 831.1Scgd if cmp -s $bak/Distfile.bak /etc/Distfile; then :; else 841.1Scgd mv $bak/Distfile.bak $bak/Distfile.bak2 851.1Scgd cp /etc/Distfile $bak/Distfile.bak 861.1Scgd fi 871.1Scgdfi 881.1Scgd 891.1Scgdecho "" 901.1Scgdecho "Running calendar:" 911.1Scgdcalendar -a 921.1Scgd 931.4Sglassecho "" 941.4Sglassecho "Making 'whatis' database:" 951.3Sglassif [ -d /usr/share/man -a -f /usr/share/man/makewhatis.sed ]; then 961.4Sglass for file in `find /usr/share/man -type f -name '*.0' -print`; do \ 971.4Sglass sed -n -f /usr/share/man/makewhatis.sed $file; \ 981.4Sglass done | sort -u > /tmp/whatis.db.$$ 991.4Sglass cp /tmp/whatis.db.$$ /usr/share/man/whatis.db 1001.4Sglass chmod 644 /usr/share/man/whatis.db 1011.4Sglass rm -f /tmp/whatis.db.$$ 1021.3Sglassfi 1031.3Sglass 1041.6Scgd# Rotation of mail log now handled automatically by cron and 'newsyslog' 1051.1Scgd 1061.1Scgdif [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then 1071.1Scgd echo "" 1081.1Scgd echo "Cleaning up UUCP:" 1091.1Scgd echo /etc/uuclean.daily | su daemon 1101.1Scgdfi 1111.1Scgd 1121.1Scgdecho "" 1131.1Scgdecho "" 1141.1Scgdecho "Checking subsystem status:" 1151.1Scgdecho "" 1161.1Scgdecho "disks:" 1171.1Scgddf -k 1181.1Scgdecho "" 1191.1Scgddump W 1201.1Scgdecho "" 1211.1Scgd 1221.1Scgd 1231.1Scgdecho "" 1241.1Scgdecho "mail:" 1251.1Scgdmailq 1261.1Scgd 1271.1Scgdif [ -d /var/spool/uucp ]; then 1281.1Scgd echo "" 1291.1Scgd echo "uucp:" 1301.2Scgd uustat -a 1311.1Scgdfi 1321.1Scgd 1331.1Scgdecho "" 1341.1Scgdecho "network:" 1351.1Scgdnetstat -i 1361.1Scgdecho "" 1371.1Scgdruptime 1381.1Scgd 1391.1Scgdecho "" 1401.1Scgdecho "Checking filesystems:" 1411.1Scgdfsck -n | grep -v '^\*\* Phase' 1421.1Scgd 1431.1Scgdecho "" 1441.1Scgdif [ -f /etc/Distfile ]; then 1451.1Scgd echo "Running rdist:" 1461.1Scgd rdist -f /etc/Distfile 1471.1Scgdfi 1481.1Scgd 1491.7Scgdsh /etc/security 2>&1 | mail -s "daily insecurity output" root 150