[BACK]Return to weekly CVS log [TXT][DIR] Up to [local] / src / etc

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