Annotation of src/etc/weekly, Revision 1.20
1.1 deraadt 1: #
1.20 ! schwarze 2: # $OpenBSD: weekly,v 1.19 2007/02/02 14:52:48 ajacoutot Exp $
1.1 deraadt 3: #
1.18 ajacouto 4: umask 022
1.1 deraadt 5:
6: PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec
7: export PATH
8:
1.20 ! schwarze 9: PARTOUT=/var/log/weekly.part
! 10: MAINOUT=/var/log/weekly.out
! 11: install -o 0 -g 0 -m 600 /dev/null $PARTOUT
! 12: install -o 0 -g 0 -m 600 -b /dev/null $MAINOUT
! 13:
! 14: start_part() {
! 15: TITLE=$1
! 16: exec > $PARTOUT 2>&1
! 17: }
! 18:
! 19: end_part() {
! 20: exec >> $MAINOUT 2>&1
! 21: test -s $PARTOUT || return
1.2 david 22: echo ""
1.20 ! schwarze 23: echo "$TITLE"
! 24: cat $PARTOUT
! 25: }
! 26:
! 27: next_part() {
! 28: end_part
! 29: start_part "$1"
! 30: }
! 31:
! 32: run_script() {
! 33: f=/etc/$1
! 34: test -e $f || return
! 35: if [ `stat -f '%Sp%u' $f | cut -b1,6,9,11-` != '---0' ]; then
! 36: echo "$f has insecure permissions, skipping:"
! 37: ls -l $f
! 38: return
! 39: fi
! 40: . $f
! 41: }
! 42:
! 43: start_part "Running /etc/weekly.local:"
! 44: run_script "weekly.local"
1.1 deraadt 45:
1.20 ! schwarze 46: next_part "Rebuilding locate database:"
1.1 deraadt 47: if [ -f /var/db/locate.database ]; then
1.14 avsm 48: TMP=`mktemp /var/db/locate.database.XXXXXXXXXX`
1.6 millert 49: if [ $? -eq 0 ]; then
1.17 hugh 50: trap 'rm -f $TMP; exit 1' 0 1 15
1.9 mickey 51: UPDATEDB="/usr/libexec/locate.updatedb"
1.12 jakob 52: echo "${UPDATEDB} --fcodes=- --tmpdir=${TMPDIR:-/var/tmp}" | \
1.7 deraadt 53: nice -5 su -m nobody 2>/dev/null 1>$TMP
1.6 millert 54: if [ -s "$TMP" ]; then
55: chmod 444 $TMP
1.13 millert 56: chown root:wheel $TMP
1.6 millert 57: mv -f $TMP /var/db/locate.database
58: else
59: echo "Not installing locate database; zero size"
60: fi
61: else
62: echo "Not rebuilding locate database; can't create temp file"
63: fi
1.1 deraadt 64: fi
1.10 alex 65:
1.20 ! schwarze 66: next_part "Rebuilding whatis databases:"
1.10 alex 67: makewhatis
1.15 jmc 68:
1.19 ajacouto 69: # If LOGINACCOUNTING is set to 1 in the environment, report user
70: # accounting information
1.20 ! schwarze 71: next_part "Doing login accounting:"
1.19 ajacouto 72: [ "X$LOGINACCOUNTING" = X1 ] && {
73: ac -p | sort -nr -k 2
74: }
1.20 ! schwarze 75:
! 76: end_part
! 77: rm -f $PARTOUT
! 78:
! 79: [ -s $MAINOUT ] && mail -s "`hostname` weekly output" root < $MAINOUT