daily revision 1.22
11.1Scgd#!/bin/sh - 21.1Scgd# 31.22Slukem# $NetBSD: daily,v 1.22 1997/06/23 01:45:21 lukem Exp $ 41.21Smikel# @(#)daily 8.2 (Berkeley) 1/25/94 51.1Scgd# 61.18Smrg 71.18SmrgPATH=/bin:/usr/bin:/sbin:/usr/sbin 81.20Smikelhost=`hostname` 91.1Scgdecho "Subject: $host daily run output" 101.1Scgd 111.18Smrgumask 077 121.18Smrg 131.18Smrgif [ -s /etc/daily.conf ]; then 141.18Smrg . /etc/daily.conf 151.18Smrgfi 161.22Slukem 171.22Slukemecho "" 181.22Slukemecho "Uptime: " `uptime` 191.18Smrg 201.17Sjtc#echo "" 211.17Sjtc#echo "Removing scratch and junk files:" 221.17Sjtc#if [ -d /tmp -a ! -h /tmp ]; then 231.17Sjtc# cd /tmp && { 241.17Sjtc# find . -type f -atime +3 -exec rm -f -- {} \; 251.17Sjtc# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 261.17Sjtc# >/dev/null 2>&1; } 271.17Sjtc#fi 281.1Scgd 291.17Sjtc#if [ -d /var/tmp -a ! -h /var/tmp ]; then 301.17Sjtc# cd /var/tmp && { 311.17Sjtc# find . ! -name . -atime +7 -exec rm -f -- {} \; 321.17Sjtc# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 331.17Sjtc# >/dev/null 2>&1; } 341.17Sjtc#fi 351.10Scgd 361.15Spk# Additional junk directory cleanup would go like this: 371.15Spk#if [ -d /scratch -a ! -h /scratch ]; then 381.15Spk# cd /scratch && { 391.15Spk# find . ! -name . -atime +1 -exec rm -f -- {} \; 401.15Spk# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 411.15Spk# >/dev/null 2>&1; } 421.15Spk#fi 431.10Scgd 441.17Sjtc#if [ -d /var/rwho -a ! -h /var/rwho ] ; then 451.17Sjtc# cd /var/rwho && { 461.17Sjtc# find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } 471.17Sjtc#fi 481.10Scgd 491.18SmrgTMPDIR=/tmp/_daily.$$ 501.18Smrg 511.18Smrgif ! mkdir $TMPDIR; then 521.18Smrg echo can not create $TMPDIR. 531.18Smrg exit 1 541.18Smrgfi 551.18Smrg 561.18Smrgif ! cd $TMPDIR; then 571.18Smrg echo can not cd to $TMPDIR. 581.18Smrg exit 1 591.18Smrgfi 601.18Smrg 611.10ScgdTMP=daily.$$ 621.18SmrgTMP2=daily2.$$ 631.18Smrg 641.21Smikelif [ "$find_core" != NO ] ; then 651.18Smrg find / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \ 661.14Smycroft -o -fstype kernfs -o -fstype procfs \) -a -prune -o \ 671.18Smrg -name 'lost+found' -a -prune -o \ 681.18Smrg -name '*.core' -a -print > $TMP 691.18Smrg# \( -name '[#,]*' -o -name '.#*' -o -name a.out \ 701.18Smrg# -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ 711.18Smrg# -a -atime +3 -exec rm -f -- {} \; -a -print > $TMP 721.18Smrg 731.18Smrg egrep '\.core' $TMP > $TMP2 741.18Smrg if [ -s $TMP2 ]; then 751.18Smrg echo "" 761.18Smrg echo "Possible core dumps:" 771.18Smrg cat $TMP2 781.18Smrg fi 791.18Smrg 801.18Smrg# egrep -v '\.core' $TMP > $TMP2 811.18Smrg# if [ -s $TMP2 ]; then 821.18Smrg# echo "" 831.18Smrg# echo "Deleted files:" 841.18Smrg# cat $TMP2 851.18Smrg# fi 861.10Scgd 871.18Smrg rm -f $TMP $TMP2 881.18Smrgfi 891.10Scgd 901.21Smikelif [ "$run_msgs" != NO ]; then 911.18Smrg msgs -c 921.18Smrgfi 931.1Scgd 941.21Smikelif [ "$expire_news" != NO -a -f /etc/news.expire ]; then 951.1Scgd /etc/news.expire 961.1Scgdfi 971.1Scgd 981.21Smikelif [ "$purge_accounting" != NO -a -f /var/account/acct ]; then 991.21Smikel echo "" 1001.21Smikel echo "Purging accounting records:" 1011.21Smikel mv /var/account/acct.2 /var/account/acct.3 1021.21Smikel mv /var/account/acct.1 /var/account/acct.2 1031.21Smikel mv /var/account/acct.0 /var/account/acct.1 1041.21Smikel cp /var/account/acct /var/account/acct.0 1051.21Smikel sa -sq 1061.1Scgdfi 1071.1Scgd 1081.21Smikelif [ "$run_calendar" != NO ]; then 1091.18Smrg calendar -a > $TMP 1101.18Smrg if [ -s $TMP ]; then 1111.18Smrg echo "" 1121.18Smrg echo "Running calendar:" 1131.18Smrg cat $TMP 1141.18Smrg fi 1151.18Smrg rm -f $TMP 1161.18Smrgfi 1171.1Scgd 1181.21Smikelif [ "$check_uucp" != NO -a -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.21Smikelif [ "$check_disks" != NO ]; then 1251.18Smrg df -k > $TMP 1261.18Smrg dump W > $TMP2 1271.18Smrg if [ -s $TMP -o -s $TMP2 ]; then 1281.18Smrg echo "" 1291.18Smrg echo "Checking subsystem status:" 1301.18Smrg echo "" 1311.18Smrg echo "disks:" 1321.18Smrg if [ -s $TMP ]; then 1331.18Smrg cat $TMP 1341.18Smrg echo "" 1351.18Smrg fi 1361.18Smrg if [ -s $TMP2 ]; then 1371.18Smrg cat $TMP2 1381.18Smrg echo "" 1391.18Smrg fi 1401.18Smrg echo "" 1411.18Smrg fi 1421.18Smrgfi 1431.18Smrg 1441.18Smrgrm -f $TMP $TMP2 1451.18Smrg 1461.21Smikelif [ "$check_mailq" != NO ]; then 1471.18Smrg mailq > $TMP 1481.18Smrg if ! grep -q "^Mail queue is empty$" $TMP; then 1491.18Smrg echo "" 1501.18Smrg echo "mail:" 1511.18Smrg cat $TMP 1521.18Smrg fi 1531.18Smrgfi 1541.18Smrg 1551.18Smrgrm -f $TMP 1561.1Scgd 1571.21Smikelif [ "$check_uucp" != NO -a -d /var/spool/uucp ]; then 1581.18Smrg uustat -a > $TMP 1591.18Smrg if [ -s $TMP ]; then 1601.18Smrg echo "" 1611.18Smrg echo "uucp:" 1621.21Smikel cat $TMP 1631.18Smrg fi 1641.18Smrgfi 1651.1Scgd 1661.18Smrgrm -f $TMP 1671.1Scgd 1681.21Smikelif [ "$check_network" != NO ]; then 1691.18Smrg echo "" 1701.18Smrg echo "network:" 1711.18Smrg netstat -i 1721.1Scgd echo "" 1731.18Smrg t=/var/rwho/* 1741.18Smrg if [ "$t" != '/var/rwho/*' ]; then 1751.18Smrg ruptime 1761.18Smrg fi 1771.1Scgdfi 1781.1Scgd 1791.21Smikelif [ "$run_fsck" != NO ]; then 1801.18Smrg echo "" 1811.18Smrg echo "Checking filesystems:" 1821.18Smrg fsck -n | grep -v '^\*\* Phase' 1831.18Smrgfi 1841.1Scgd 1851.1Scgdecho "" 1861.21Smikelif [ "$run_rdist" != NO -a -f /etc/Distfile ]; then 1871.1Scgd echo "Running rdist:" 1881.20Smikel if [ -d /var/log/rdist ]; then 1891.21Smikel logf=`date +%Y.%b.%e` 1901.20Smikel rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf 1911.20Smikel else 1921.20Smikel rdist -f /etc/Distfile 1931.20Smikel fi 1941.1Scgdfi 1951.1Scgd 1961.21Smikelif [ "$run_security" != NO ]; then 1971.20Smikel sh /etc/security 2>&1 | mail -s "$host daily insecurity output" root 1981.18Smrgfi 1991.18Smrg 2001.18Smrgrm -rf $TMPDIR 201