90c7a938ef
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.
88 lines
2.1 KiB
Bash
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
|