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