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