1 #!/bin/sh - 2 # 3 # $NetBSD: weekly,v 1.29 2012/08/29 20:34:19 wiz Exp $ 4 # from: @(#)weekly 8.2 (Berkeley) 1/2/94 5 # 6 7 export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec 8 umask 077 9 10 if [ -s /etc/weekly.conf ]; then 11 . /etc/weekly.conf 12 fi 13 14 host="$(hostname)" 15 date="$(date)" 16 rcvar_manpage='weekly.conf(5)' 17 18 echo "To: ${MAILTO:-root}" 19 echo "Subject: $host weekly output for $date" 20 echo "" 21 22 if [ -f /etc/rc.subr ]; then 23 . /etc/rc.subr 24 else 25 echo "Can't read /etc/rc.subr; aborting." 26 exit 1; 27 fi 28 29 WEEKLYDIR=$(mktemp -d -t _weekly) || exit 1 30 31 trap "/bin/rm -rf $WEEKLYDIR ; exit 0" EXIT INT QUIT PIPE 32 33 if ! cd "$WEEKLYDIR"; then 34 echo "Can not cd to $WEEKLYDIR". 35 exit 1 36 fi 37 38 TMP=weekly.$$ 39 40 #echo "" 41 #echo "Removing old .o files:" 42 #find /usr/src -name '*.o' -atime +21 -print -a -exec rm -f {} \; 43 44 # see if /usr/src exists and is local 45 # before looking there for checked-out files 46 47 #if [ -d /usr/src -a \ 48 # -n "$(find -f /usr/src ! -fstype local -prune -or -type d -print -prune)" ]; 49 #then 50 # echo "" 51 # echo "Looking for checked out files:" 52 # 53 # TDIR=$(mktemp -d -t _checkout) || exit 1 54 # trap "/bin/rm -rf $TDIR ; exit 0" EXIT INT QUIT 55 # for file in $(find -f /usr/src ! -fstype local -prune -or \ 56 # -name 'p.*' -print | egrep 'SCCS/p\.'); do 57 # owner=$(awk '{ print $3 }' $file) 58 # echo "$owner $file" 59 # echo $file >> "$TDIR/$owner" 60 # done | sed -e 's,SCCS/p.,,' 61 # if test -n "$(ls $TDIR)"; then 62 # for file in $TDIR/*; do 63 # sed -e 's,SCCS/p.,,' $file | \ 64 # Mail -s 'checked out files' ${file##*/} 65 # done 66 # fi 67 #fi 68 69 if checkyesno rebuild_locatedb; then 70 echo "" 71 if [ -f /var/db/locate.database ]; then 72 echo "Rebuilding locate database:" 73 chmod 644 /var/db/locate.database 74 chown nobody:nobody /var/db/locate.database 75 (cd / && nice -5 su -m nobody -c /usr/libexec/locate.updatedb 2>/dev/null) 76 chown root:wheel /var/db/locate.database 77 else 78 echo "Not rebuilding locate database; no /var/db/locate.database" 79 fi 80 fi 81 82 if checkyesno rebuild_whatisdb; then 83 echo "" 84 if [ -x /usr/libexec/makewhatis -a \( -f /etc/man.conf \ 85 -o -d /usr/share/man \) ]; then 86 echo "Rebuilding whatis databases:" 87 nice -n 5 /usr/libexec/makewhatis -f 88 else 89 echo "Not rebuilding whatis databases" 90 fi 91 fi 92 93 if checkyesno rebuild_mandb; then 94 echo "" 95 if [ -f /etc/man.conf -a -x /usr/sbin/makemandb ]; then 96 echo "Rebuilding man page index:" 97 (umask 022; nice -n 5 /usr/sbin/makemandb -f -Q) 98 else 99 echo "Not rebuilding man page index" 100 fi 101 fi 102 103 if [ -f /etc/weekly.local ]; then 104 . /etc/weekly.local > $TMP 2>&1 105 if [ -s $TMP ] ; then 106 printf "\nRunning /etc/weekly.local:\n" 107 cat $TMP 108 fi 109 rm -f $TMP 110 fi 111