=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/etc/daily,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- src/etc/daily 1997/01/03 22:51:26 1.16 +++ src/etc/daily 1997/01/17 06:18:19 1.17 @@ -1,10 +1,12 @@ #!/bin/sh - # -# $OpenBSD: daily,v 1.16 1997/01/03 22:51:26 millert Exp $ +# $OpenBSD: daily,v 1.17 1997/01/17 06:18:19 millert Exp $ +# From: @(#)daily 8.2 (Berkeley) 1/25/94 # -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local +PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin host=`hostname -s` echo "Subject: $host daily run output" +bak=/var/backups if [ -f /etc/daily.local ];then echo "" @@ -17,75 +19,98 @@ trap 'rm -f $TMP' 0 1 15 echo "" -echo "NOT Removing scratch and junk files." -#echo "Removing scratch and junk files:" -# XXX NOT REMOVING UNTIL SECURITY BUG IS FIXED" -#if [ -d /tmp -a ! -h /tmp ]; then -# cd /tmp && { -# find . -type f -atime +3 -exec rm -f -- {} \; -# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ -# >/dev/null 2>&1; } -#fi +echo "Removing scratch and junk files:" +if [ -d /tmp -a ! -h /tmp ]; then + cd /tmp && { + find . -type f -atime +3 -execdir rm -f -- {} \; + find . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \ + >/dev/null 2>&1; } +fi -# XXX NOT REMOVING UNTIL SECURITY BUG IS FIXED -#if [ -d /var/tmp -a ! -h /var/tmp ]; then -# cd /var/tmp && { -# find . ! -name . -atime +7 -exec rm -f -- {} \; -# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ -# >/dev/null 2>&1; } -#fi +if [ -d /var/tmp -a ! -h /var/tmp ]; then + cd /var/tmp && { + find . ! -name . -atime +7 -execdir rm -f -- {} \; + find . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \ + >/dev/null 2>&1; } +fi # Additional junk directory cleanup would go like this: #if [ -d /scratch -a ! -h /scratch ]; then # cd /scratch && { -# find . ! -name . -atime +1 -exec rm -f -- {} \; -# find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ +# find . ! -name . -atime +1 -execdir rm -f -- {} \; +# find . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \ # >/dev/null 2>&1; } #fi -#if [ -d /var/rwho -a ! -h /var/rwho ] ; then -# cd /var/rwho && { -# XXX NOT REMOVING UNTIL SECURITY BUG IS FIXED -# find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } -#fi +if [ -d /var/preserve -a ! -h /var/preserve ]; then + cd /var/preserve && { + find . ! -name . -mtime +7 -execdir rm -f -- {} \; ; } +fi +if [ -d /var/rwho -a ! -h /var/rwho ] ; then + cd /var/rwho && { + find . ! -name . -mtime +7 -execdir rm -f -- {} \; ; } +fi + find / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \ -o -fstype kernfs -o -fstype procfs \) -a -prune -o \ -name 'lost+found' -a -prune -o \ - -name '*.core' -a -print > $TMP -# \( -name '[#,]*' -o -name '.#*' -o -name a.out \ -# -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ -# -a -atime +3 -exec rm -f -- {} \; -a -print > $TMP + -name '*.core' -a -print -o \ + \( -name '[#,]*' -o -name '.#*' -o -name a.out \ + -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ + -a -atime +3 -a -execdir rm -f -- {} \; -a -print > $TMP if egrep -q '\.core$' $TMP; then - echo "" - echo "Possible core dumps:" - egrep '\.core$' $TMP + echo "" + echo "Possible core dumps:" + egrep '\.core$' $TMP +fi - # XXX - we aren't deleting files due to security bug mentioned above - #echo "" - #echo "Deleted files:" - #egrep -v '\.core$' $TMP +if egrep -qv '\.core$' $TMP; then + echo "" + echo "Deleted files:" + egrep -v '\.core$' $TMP fi msgs -c -if [ -f /etc/news.expire ]; then +if [ -s /etc/news.expire ]; then /etc/news.expire fi if [ -f /var/account/acct ]; then - echo "" ; - echo "Purging accounting records:" ; - mv /var/account/acct.2 /var/account/acct.3 ; - mv /var/account/acct.1 /var/account/acct.2 ; - mv /var/account/acct.0 /var/account/acct.1 ; - cp /var/account/acct /var/account/acct.0 ; - sa -sq ; + echo "" + echo "Purging accounting records:" + mv /var/account/acct.2 /var/account/acct.3 + mv /var/account/acct.1 /var/account/acct.2 + mv /var/account/acct.0 /var/account/acct.1 + cp /var/account/acct /var/account/acct.0 + sa -sq fi +# If ROOTBACKUP is set to 1 in the environment, and +# if filesystem named /altroot is type ffs, on /dev/* and mounted "xx", +# use it as a backup root filesystem to be updated daily. +[ "X$ROOTBACKUP" = X1 ] && { + rootdev=`awk '$2 == "/" && $1 ~ /^\/dev\// && $3 == "ffs" && \ + $4 == "rw" \ + { print substr($1, 6) }' < /etc/fstab` + rootbak=`awk '$2 == "/altroot" && $1 ~ /^\/dev\// && $3 == "ffs" && \ + $4 == "xx" \ + { print substr($1, 6) }' < /etc/fstab` + [ X$rootdev != X -a X$rootbak != X ] && { + sync + echo "" + echo "Backing up root filesystem:" + echo "copying /dev/r$rootdev to /dev/r$rootbak" + dd if=/dev/r$rootdev of=/dev/r$rootbak bs=16b seek=1 skip=1 \ + conv=noerror,sync + fsck -y /dev/r$rootbak + } +} + echo "" -if [ -d /var/yp/binding -a ! -d /var/yp/`domainname` ]; then +if [ -d /var/yp/binding -a ! -d /var/yp/`domainname` ]; then echo "Not running calendar, (yp client)." else echo "Running calendar." @@ -132,18 +157,27 @@ t=/var/rwho/* if [ "$t" != '/var/rwho/*' ]; then + echo "" ruptime fi -echo "" -echo "NOT checking filesystems." -#echo "Checking filesystems:" -#fsck -n | grep -v '^\*\* Phase' +# If CHECKFILESYSTEMS is set to 1 in the environment, run fsck +# with the no-write flag. +[ "X$CHECKFILESYSTEMS" = X1 ] && { + echo "" + echo "Checking filesystems:" + fsck -n | grep -v '^\*\* Phase' +} -echo "" if [ -f /etc/Distfile ]; then + echo "" echo "Running rdist:" - rdist -f /etc/Distfile + if [ -d /var/log/rdist ]; then + logf=`date | awk '{printf "%s.%s.%s", $6, $2, $3}'` + rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf + else + rdist -f /etc/Distfile + fi fi sh /etc/security 2>&1 | mail -s "$host daily insecurity output" root