1 #!/bin/sh - 2 # 3 # $NetBSD: daily,v 1.22 1997/06/23 01:45:21 lukem Exp $ 4 # @(#)daily 8.2 (Berkeley) 1/25/94 5 # 6 7 PATH=/bin:/usr/bin:/sbin:/usr/sbin 8 host=`hostname` 9 echo "Subject: $host daily run output" 10 11 umask 077 12 13 if [ -s /etc/daily.conf ]; then 14 . /etc/daily.conf 15 fi 16 17 echo "" 18 echo "Uptime: " `uptime` 19 20 #echo "" 21 #echo "Removing scratch and junk files:" 22 #if [ -d /tmp -a ! -h /tmp ]; then 23 # cd /tmp && { 24 # find . -type f -atime +3 -exec rm -f -- {} \; 25 # find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 26 # >/dev/null 2>&1; } 27 #fi 28 29 #if [ -d /var/tmp -a ! -h /var/tmp ]; then 30 # cd /var/tmp && { 31 # find . ! -name . -atime +7 -exec rm -f -- {} \; 32 # find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 33 # >/dev/null 2>&1; } 34 #fi 35 36 # Additional junk directory cleanup would go like this: 37 #if [ -d /scratch -a ! -h /scratch ]; then 38 # cd /scratch && { 39 # find . ! -name . -atime +1 -exec rm -f -- {} \; 40 # find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ 41 # >/dev/null 2>&1; } 42 #fi 43 44 #if [ -d /var/rwho -a ! -h /var/rwho ] ; then 45 # cd /var/rwho && { 46 # find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } 47 #fi 48 49 TMPDIR=/tmp/_daily.$$ 50 51 if ! mkdir $TMPDIR; then 52 echo can not create $TMPDIR. 53 exit 1 54 fi 55 56 if ! cd $TMPDIR; then 57 echo can not cd to $TMPDIR. 58 exit 1 59 fi 60 61 TMP=daily.$$ 62 TMP2=daily2.$$ 63 64 if [ "$find_core" != NO ] ; then 65 find / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \ 66 -o -fstype kernfs -o -fstype procfs \) -a -prune -o \ 67 -name 'lost+found' -a -prune -o \ 68 -name '*.core' -a -print > $TMP 69 # \( -name '[#,]*' -o -name '.#*' -o -name a.out \ 70 # -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ 71 # -a -atime +3 -exec rm -f -- {} \; -a -print > $TMP 72 73 egrep '\.core' $TMP > $TMP2 74 if [ -s $TMP2 ]; then 75 echo "" 76 echo "Possible core dumps:" 77 cat $TMP2 78 fi 79 80 # egrep -v '\.core' $TMP > $TMP2 81 # if [ -s $TMP2 ]; then 82 # echo "" 83 # echo "Deleted files:" 84 # cat $TMP2 85 # fi 86 87 rm -f $TMP $TMP2 88 fi 89 90 if [ "$run_msgs" != NO ]; then 91 msgs -c 92 fi 93 94 if [ "$expire_news" != NO -a -f /etc/news.expire ]; then 95 /etc/news.expire 96 fi 97 98 if [ "$purge_accounting" != NO -a -f /var/account/acct ]; then 99 echo "" 100 echo "Purging accounting records:" 101 mv /var/account/acct.2 /var/account/acct.3 102 mv /var/account/acct.1 /var/account/acct.2 103 mv /var/account/acct.0 /var/account/acct.1 104 cp /var/account/acct /var/account/acct.0 105 sa -sq 106 fi 107 108 if [ "$run_calendar" != NO ]; then 109 calendar -a > $TMP 110 if [ -s $TMP ]; then 111 echo "" 112 echo "Running calendar:" 113 cat $TMP 114 fi 115 rm -f $TMP 116 fi 117 118 if [ "$check_uucp" != NO -a -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then 119 echo "" 120 echo "Cleaning up UUCP:" 121 echo /etc/uuclean.daily | su daemon 122 fi 123 124 if [ "$check_disks" != NO ]; then 125 df -k > $TMP 126 dump W > $TMP2 127 if [ -s $TMP -o -s $TMP2 ]; then 128 echo "" 129 echo "Checking subsystem status:" 130 echo "" 131 echo "disks:" 132 if [ -s $TMP ]; then 133 cat $TMP 134 echo "" 135 fi 136 if [ -s $TMP2 ]; then 137 cat $TMP2 138 echo "" 139 fi 140 echo "" 141 fi 142 fi 143 144 rm -f $TMP $TMP2 145 146 if [ "$check_mailq" != NO ]; then 147 mailq > $TMP 148 if ! grep -q "^Mail queue is empty$" $TMP; then 149 echo "" 150 echo "mail:" 151 cat $TMP 152 fi 153 fi 154 155 rm -f $TMP 156 157 if [ "$check_uucp" != NO -a -d /var/spool/uucp ]; then 158 uustat -a > $TMP 159 if [ -s $TMP ]; then 160 echo "" 161 echo "uucp:" 162 cat $TMP 163 fi 164 fi 165 166 rm -f $TMP 167 168 if [ "$check_network" != NO ]; then 169 echo "" 170 echo "network:" 171 netstat -i 172 echo "" 173 t=/var/rwho/* 174 if [ "$t" != '/var/rwho/*' ]; then 175 ruptime 176 fi 177 fi 178 179 if [ "$run_fsck" != NO ]; then 180 echo "" 181 echo "Checking filesystems:" 182 fsck -n | grep -v '^\*\* Phase' 183 fi 184 185 echo "" 186 if [ "$run_rdist" != NO -a -f /etc/Distfile ]; then 187 echo "Running rdist:" 188 if [ -d /var/log/rdist ]; then 189 logf=`date +%Y.%b.%e` 190 rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf 191 else 192 rdist -f /etc/Distfile 193 fi 194 fi 195 196 if [ "$run_security" != NO ]; then 197 sh /etc/security 2>&1 | mail -s "$host daily insecurity output" root 198 fi 199 200 rm -rf $TMPDIR 201