4.4BSD/etc/weekly

#!/bin/sh -
#
#	@(#)weekly	8.2 (Berkeley) 1/2/94
#

PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec
export PATH

host=`hostname`
echo "Subject: $host weekly run output"

#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 -a \
  X"`find -f /usr/src ! -fstype local -prune -or -type d -print -prune`" != X ];
then
	echo "looking for checked out files:"
	TDIR=/tmp/_checkout$$

	mkdir $TDIR
	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.,,' | sort
	if test -n "`ls $TDIR`"; then
		for file in $TDIR/*; do
			sed -e 's,SCCS/p.,,' $file | \
			    Mail -s 'checked out files' `basename $file`
		done
	fi
	rm -rf $TDIR
fi

if [ -f /usr/lib/uucp/clean.weekly ]; then
	echo ""
	echo "Cleaning up UUCP:"
	echo /usr/lib/uucp/clean.weekly | su daemon
fi
echo ""

echo ""
echo -n "Rotating log files:"
cd /var/log
for i in amd messages; do
	echo -n " $i"
	if [ -f $i.5 ]; then mv -f $i.5 $i.6; fi
	if [ -f $i.4 ]; then mv -f $i.4 $i.5; fi
	if [ -f $i.3 ]; then mv -f $i.3 $i.4; fi
	if [ -f $i.2 ]; then mv -f $i.2 $i.3; fi
	if [ -f $i.1 ]; then mv -f $i.1 $i.2; fi
	if [ -f $i.0 ]; then mv -f $i.0 $i.1; fi
	if [ -f $i ]; then mv -f $i $i.0; fi
	>$i
done
echo ""

kill -1 `cat /var/run/syslog.pid`
cd /

echo ""
echo "Rebuilding locate database:"
echo /usr/libexec/locate.updatedb | nice -5 su -m nobody 2>/dev/null