0c9dbb91c3
/etc/weekly is run? Rebuilding locate database: stty: stdin isn't a terminal TERM: Undefined variable. 'su' apparently runs in root's environment before doing a seteuid(), so it reads root's .cshrc. The problem lies in the fact that $prompt is *always* set by the time the command is executed, so you can't protect your interactive commands from the non-interactive commands by the normal: if ($?prompt) then # interactive stuff here endif Set the -f flag (su -fm) which causes it not to read root's .cshrc file, since there should be no reason to do so for these scripts since /etc/crontab sets up all of the necessary environment.
68 lines
1.7 KiB
Bash
68 lines
1.7 KiB
Bash
#!/bin/sh -
|
|
#
|
|
# @(#)weekly 5.14 (Berkeley) 6/23/91
|
|
# $Id: weekly,v 1.15 1996/05/13 22:05:10 wosch Exp $
|
|
|
|
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/libexec/uucp/clean.weekly ]; then
|
|
echo ""
|
|
echo "Cleaning up UUCP:"
|
|
echo /usr/libexec/uucp/clean.weekly | su daemon
|
|
fi
|
|
|
|
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 -fm 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}
|
|
|
|
makewhatis.local "${MANPATH}"
|
|
|
|
#echo ""
|
|
#echo "Reformatting manual pages:"
|
|
#echo catman.local "${MANPATH}" | su -fm man
|
|
|
|
echo ""
|
|
echo "Cleaning up kernel database files:"
|
|
kernel=`sysctl -n kern.bootfile`
|
|
kernel=kvm_`basename ${kernel}`.db
|
|
find /var/db -name "kvm_*.db" -a ! -name ${kernel} -a -atime +7 -exec rm -f -- {} \;
|