Home | History | Annotate | Line # | Download | only in etc
weekly revision 1.26
      1 #!/bin/sh -
      2 #
      3 #	$NetBSD: weekly,v 1.26 2012/02/15 23:30:11 joerg 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 -o \
     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)
     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