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

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