#!/bin/sh - # # $NetBSD: weekly,v 1.32 2018/09/23 23:12:21 kre Exp $ # from: @(#)weekly 8.2 (Berkeley) 1/2/94 # export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec umask 077 if [ -s /etc/weekly.conf ]; then . /etc/weekly.conf fi host="$(hostname)" date="$(date)" rcvar_manpage='weekly.conf(5)' echo "To: ${MAILTO:-root}" echo "Subject: $host weekly output for $date" echo "" if [ -f /etc/rc.subr ]; then . /etc/rc.subr else echo "Can't read /etc/rc.subr; aborting." exit 1; fi WEEKLYDIR=$(mktemp -d -t _weekly) || exit 1 trap "/bin/rm -rf $WEEKLYDIR ; exit 0" EXIT INT QUIT PIPE if ! cd "$WEEKLYDIR"; then echo "Can't cd to $WEEKLYDIR; aborting." exit 1 fi TMP=weekly.$$ #echo "" #echo "Removing old .o files:" #find /usr/src -name '*.o' -atime +21 -print -a -exec rm -f {} \; # see if /usr/src exists and is local # before looking there for checked-out files #if [ -d /usr/src ] && # [ -n "$(find -f /usr/src ! -fstype local -prune -or -type d -print -prune)" ]; #then # echo "" # echo "Looking for checked out files:" # # TDIR=$(mktemp -d -t _checkout) || exit 1 # trap "/bin/rm -rf $TDIR ; exit 0" EXIT INT QUIT # for file in $(find -f /usr/src ! -fstype local -prune -or \ # -name 'p.*' -print | egrep 'SCCS/p\.'); do # owner=$(awk '{ print $3 }' $file) # echo "$owner $file" # echo $file >> "$TDIR/$owner" # done | sed -e 's,SCCS/p.,,' # if test -n "$(ls $TDIR)"; then # for file in $TDIR/*; do # sed -e 's,SCCS/p.,,' $file | \ # Mail -s 'checked out files' ${file##*/} # done # fi #fi if checkyesno rebuild_locatedb; then echo "" if [ -f /var/db/locate.database ]; then echo "Rebuilding locate database:" chmod 644 /var/db/locate.database chown nobody:nobody /var/db/locate.database (cd / && nice -5 su -m nobody -c /usr/libexec/locate.updatedb 2>/dev/null) chown root:wheel /var/db/locate.database else echo "Not rebuilding locate database; no /var/db/locate.database" fi fi if checkyesno rebuild_mandb; then echo "" if [ -f /etc/man.conf ] && [ -x /usr/sbin/makemandb ]; then echo "Rebuilding man page index:" (umask 022; nice -n 5 /usr/sbin/makemandb -f -Q) else echo "Not rebuilding man page index" fi fi if [ -f /etc/weekly.local ]; then . /etc/weekly.local > $TMP 2>&1 if [ -s $TMP ] ; then printf "\nRunning /etc/weekly.local:\n" cat $TMP fi rm -f $TMP fi |