freebsd-dev/etc/weekly
Joerg Wunsch 90c7a938ef daily:
Leave a warning to the sysop if (s)he didn't yet
	enable the /tmp cleanup code.
	Made `core' in the cleanup template look `*.core'.
	Replace `df -k' by `df -k -t local', since the stats
	for kernfs, procfs etc. are not of much interest, and
	the inclusion of nfs systems might  hang the machine (nor is it a
	`disk' statistic as the headline's telling).
weekly:
	Modified the locate.updatedb part to work even if there's no
	database yet; report errors other than `Permission denied' instead
	of silently ignoring all of them.
	Added functionality to rebuild the whatis database once a week.
1994-10-30 18:20:58 +00:00

88 lines
2.1 KiB
Bash

#!/bin/sh -
#
# @(#)weekly 5.14 (Berkeley) 6/23/91
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec
export PATH
host=`hostname -s`
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.,,'
# for file in $TDIR/*; do
# sed -e 's,SCCS/p.,,' $file | \
# Mail -s 'checked out files' `basename $file`
# done
# 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 "Rotating messages:"
cd /var/log
if [ -f messages.2 ]; then mv -f messages.2 messages.3; fi
if [ -f messages.1 ]; then mv -f messages.1 messages.2; fi
if [ -f messages.0 ]; then mv -f messages.0 messages.1; fi
mv -f messages messages.0
cp /dev/null messages
chmod 644 messages
kill -1 `cat /var/run/syslog.pid`
cd /
echo "Rotating cron log:"
cd /var/cron
if [ -f log.2 ]; then mv -f log.2 log.3; fi
if [ -f log.1 ]; then mv -f log.1 log.2; fi
if [ -f log.0 ]; then mv -f log.0 log.1; fi
mv -f log log.0
cp /dev/null log
chmod 600 log
cd /
echo ""
echo "Rebuilding locate database:"
locdb=/var/db/locate.database
touch ${locdb}; chown nobody ${locdb}; chmod 644 ${locdb}
echo /usr/libexec/locate.updatedb | nice -5 su -m nobody 2>&1 |\
fgrep -v 'Permission denied'
chmod 444 ${locdb}
echo ""
echo "Rebuilding whatis database:"
MANPATH=${MANPATH:-/usr/share/man:/usr/X11R6/man:/usr/local/man}
for mandir in `( IFS=":"; set -- ${MANPATH}; echo $* )`
do
if [ ! -d ${mandir} ]
then
continue
fi
echo "==> ${mandir}"
makewhatis ${mandir}
done