daily revision 1.24
11.1Scgd#!/bin/sh - 21.1Scgd# 31.24Slukem# $NetBSD: daily,v 1.24 1997/10/27 04:18:06 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.23Sphilif [ -z "$MAILTO" -o "$USER" != "root" ]; then 141.23Sphil MAILTO=root 151.23Sphilfi 161.23Sphil 171.18Smrgif [ -s /etc/daily.conf ]; then 181.18Smrg . /etc/daily.conf 191.18Smrgfi 201.22Slukem 211.22Slukemecho "" 221.22Slukemecho "Uptime: " `uptime` 231.18Smrg 241.17Sjtc#echo "" 251.17Sjtc#echo "Removing scratch and junk files:" 261.17Sjtc#if [ -d /tmp -a ! -h /tmp ]; then 271.17Sjtc# cd /tmp && { 281.17Sjtc# find . -type f -atime +3 -exec rm -f -- {} \; 291.17Sjtc# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 301.17Sjtc# >/dev/null 2>&1; } 311.17Sjtc#fi 321.1Scgd 331.17Sjtc#if [ -d /var/tmp -a ! -h /var/tmp ]; then 341.17Sjtc# cd /var/tmp && { 351.17Sjtc# find . ! -name . -atime +7 -exec rm -f -- {} \; 361.17Sjtc# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 371.17Sjtc# >/dev/null 2>&1; } 381.17Sjtc#fi 391.10Scgd 401.15Spk# Additional junk directory cleanup would go like this: 411.15Spk#if [ -d /scratch -a ! -h /scratch ]; then 421.15Spk# cd /scratch && { 431.15Spk# find . ! -name . -atime +1 -exec rm -f -- {} \; 441.15Spk# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 451.15Spk# >/dev/null 2>&1; } 461.15Spk#fi 471.10Scgd 481.17Sjtc#if [ -d /var/rwho -a ! -h /var/rwho ] ; then 491.17Sjtc# cd /var/rwho && { 501.17Sjtc# find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } 511.17Sjtc#fi 521.10Scgd 531.18SmrgTMPDIR=/tmp/_daily.$$ 541.18Smrg 551.18Smrgif ! mkdir $TMPDIR; then 561.18Smrg echo can not create $TMPDIR. 571.18Smrg exit 1 581.18Smrgfi 591.18Smrg 601.18Smrgif ! cd $TMPDIR; then 611.18Smrg echo can not cd to $TMPDIR. 621.18Smrg exit 1 631.18Smrgfi 641.18Smrg 651.10ScgdTMP=daily.$$ 661.18SmrgTMP2=daily2.$$ 671.18Smrg 681.21Smikelif [ "$find_core" != NO ] ; then 691.18Smrg find / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \ 701.14Smycroft -o -fstype kernfs -o -fstype procfs \) -a -prune -o \ 711.18Smrg -name 'lost+found' -a -prune -o \ 721.18Smrg -name '*.core' -a -print > $TMP 731.18Smrg# \( -name '[#,]*' -o -name '.#*' -o -name a.out \ 741.18Smrg# -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ 751.18Smrg# -a -atime +3 -exec rm -f -- {} \; -a -print > $TMP 761.18Smrg 771.18Smrg egrep '\.core' $TMP > $TMP2 781.18Smrg if [ -s $TMP2 ]; then 791.18Smrg echo "" 801.18Smrg echo "Possible core dumps:" 811.18Smrg cat $TMP2 821.18Smrg fi 831.18Smrg 841.18Smrg# egrep -v '\.core' $TMP > $TMP2 851.18Smrg# if [ -s $TMP2 ]; then 861.18Smrg# echo "" 871.18Smrg# echo "Deleted files:" 881.18Smrg# cat $TMP2 891.18Smrg# fi 901.10Scgd 911.18Smrg rm -f $TMP $TMP2 921.18Smrgfi 931.10Scgd 941.21Smikelif [ "$run_msgs" != NO ]; then 951.18Smrg msgs -c 961.18Smrgfi 971.1Scgd 981.21Smikelif [ "$expire_news" != NO -a -f /etc/news.expire ]; then 991.1Scgd /etc/news.expire 1001.1Scgdfi 1011.1Scgd 1021.21Smikelif [ "$purge_accounting" != NO -a -f /var/account/acct ]; then 1031.21Smikel echo "" 1041.21Smikel echo "Purging accounting records:" 1051.21Smikel mv /var/account/acct.2 /var/account/acct.3 1061.21Smikel mv /var/account/acct.1 /var/account/acct.2 1071.21Smikel mv /var/account/acct.0 /var/account/acct.1 1081.21Smikel cp /var/account/acct /var/account/acct.0 1091.21Smikel sa -sq 1101.1Scgdfi 1111.1Scgd 1121.21Smikelif [ "$run_calendar" != NO ]; then 1131.18Smrg calendar -a > $TMP 1141.18Smrg if [ -s $TMP ]; then 1151.18Smrg echo "" 1161.18Smrg echo "Running calendar:" 1171.18Smrg cat $TMP 1181.18Smrg fi 1191.18Smrg rm -f $TMP 1201.18Smrgfi 1211.1Scgd 1221.24Slukemif [ "$check_uucp" != NO -a -d /var/spool/uucp -a \ 1231.24Slukem -f /usr/libexec/uucp/clean.daily ]; then 1241.1Scgd echo "" 1251.1Scgd echo "Cleaning up UUCP:" 1261.24Slukem su daemon -c /usr/libexec/uucp/clean.daily 1271.1Scgdfi 1281.1Scgd 1291.21Smikelif [ "$check_disks" != NO ]; then 1301.18Smrg df -k > $TMP 1311.18Smrg dump W > $TMP2 1321.18Smrg if [ -s $TMP -o -s $TMP2 ]; then 1331.18Smrg echo "" 1341.18Smrg echo "Checking subsystem status:" 1351.18Smrg echo "" 1361.18Smrg echo "disks:" 1371.18Smrg if [ -s $TMP ]; then 1381.18Smrg cat $TMP 1391.18Smrg echo "" 1401.18Smrg fi 1411.18Smrg if [ -s $TMP2 ]; then 1421.18Smrg cat $TMP2 1431.18Smrg echo "" 1441.18Smrg fi 1451.18Smrg echo "" 1461.18Smrg fi 1471.18Smrgfi 1481.18Smrg 1491.18Smrgrm -f $TMP $TMP2 1501.18Smrg 1511.21Smikelif [ "$check_mailq" != NO ]; then 1521.18Smrg mailq > $TMP 1531.18Smrg if ! grep -q "^Mail queue is empty$" $TMP; then 1541.18Smrg echo "" 1551.18Smrg echo "mail:" 1561.18Smrg cat $TMP 1571.18Smrg fi 1581.18Smrgfi 1591.18Smrg 1601.18Smrgrm -f $TMP 1611.1Scgd 1621.21Smikelif [ "$check_uucp" != NO -a -d /var/spool/uucp ]; then 1631.18Smrg uustat -a > $TMP 1641.18Smrg if [ -s $TMP ]; then 1651.18Smrg echo "" 1661.18Smrg echo "uucp:" 1671.21Smikel cat $TMP 1681.18Smrg fi 1691.18Smrgfi 1701.1Scgd 1711.18Smrgrm -f $TMP 1721.1Scgd 1731.21Smikelif [ "$check_network" != NO ]; then 1741.18Smrg echo "" 1751.18Smrg echo "network:" 1761.18Smrg netstat -i 1771.1Scgd echo "" 1781.18Smrg t=/var/rwho/* 1791.18Smrg if [ "$t" != '/var/rwho/*' ]; then 1801.18Smrg ruptime 1811.18Smrg fi 1821.1Scgdfi 1831.1Scgd 1841.21Smikelif [ "$run_fsck" != NO ]; then 1851.18Smrg echo "" 1861.18Smrg echo "Checking filesystems:" 1871.18Smrg fsck -n | grep -v '^\*\* Phase' 1881.18Smrgfi 1891.1Scgd 1901.1Scgdecho "" 1911.21Smikelif [ "$run_rdist" != NO -a -f /etc/Distfile ]; then 1921.1Scgd echo "Running rdist:" 1931.20Smikel if [ -d /var/log/rdist ]; then 1941.21Smikel logf=`date +%Y.%b.%e` 1951.20Smikel rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf 1961.20Smikel else 1971.20Smikel rdist -f /etc/Distfile 1981.20Smikel fi 1991.1Scgdfi 2001.1Scgd 2011.21Smikelif [ "$run_security" != NO ]; then 2021.23Sphil sh /etc/security 2>&1 | mail -s "$host daily insecurity output" $MAILTO 2031.18Smrgfi 2041.18Smrg 2051.18Smrgrm -rf $TMPDIR 206