Annotation of researchv8dc/cmd/uucp/uudemon.cleanu, revision 1.1

1.1     ! root        1: #!/bin/sh
        !             2: #      @(#)uudemon.clea        1.7
        !             3: #
        !             4: #      This demon cleans up uucp directories.
        !             5: #      It is started by /usr/lib/crontab;
        !             6: #      it can be run daily, weekly, whatever depending on the system
        !             7: #        uucp load.
        !             8: #      The log files get large so you may have to up the ulimit.
        !             9: #      e.g.
        !            10: #
        !            11: # 45 23 * * * ulimit 5000; /bin/su uucp -c "/usr/lib/uucp/uudemon.cleanu"
        !            12: #
        !            13: 
        !            14: MAILTO=${mailto:-uucp}
        !            15: export PATH
        !            16: PATH=/bin:/usr/bin:/usr/lib/uucp:/usr/lbin
        !            17: TMP=/tmp/uu$$
        !            18: WISDOM=/tmp/uv$$
        !            19: >$WISDOM; chmod 0700 $WISDOM
        !            20: 
        !            21: #
        !            22: #      These are taken from the Makefile.  If changed in Makefile
        !            23: #      they must be changed here also.
        !            24: #
        !            25: PUBDIR=/usr/spool/uucppublic
        !            26: SPOOL=/usr/spool/uucp
        !            27: LOCKS=/usr/spool/locks
        !            28: XQTDIR=/usr/spool/uucp/.Xqtdir
        !            29: CORRUPT=/usr/spool/uucp/.Corrupt
        !            30: LOGDIR=/usr/spool/uucp/.Log
        !            31: SEQDIR=/usr/spool/uucp/.Sequence
        !            32: STATDIR=/usr/spool/uucp/.Status
        !            33: WORKDIR=/usr/spool/uucp/.Workspace
        !            34: ADMIN=/usr/spool/uucp/.Admin
        !            35: 
        !            36: #      OLD is the directory for archiving old admin/log files
        !            37: OLD=$SPOOL/.Old
        !            38: O_LOGS=$OLD/Old-Log
        !            39: 
        !            40: mv $ADMIN/xferstats $OLD/xferstats
        !            41: mv $ADMIN/audit $OLD/audit
        !            42: mv $ADMIN/errors $OLD/errors
        !            43: mv $ADMIN/Foreign $OLD/Foreign
        !            44: 
        !            45: > $ADMIN/xferstats
        !            46: > $ADMIN/audit
        !            47: > $ADMIN/errors
        !            48: > $ADMIN/Foreign
        !            49: 
        !            50: #
        !            51: #      The list in the for controls how many old LOG files are retained.
        !            52: #      O_LOGS-2 goes to O_LOGS-3, O_LOGS-1 goes to O_LOGS-2.
        !            53: #      Todays goes to O_LOGS-1
        !            54: #
        !            55: max=${1:-1}
        !            56: for i in `seq $max -1 2`
        !            57: do
        !            58:        j=`expr $i - 1`
        !            59:        mv ${O_LOGS}-$j ${O_LOGS}-$i
        !            60: done
        !            61: 
        !            62: #
        !            63: #      Combine all log files into O_LOGS-1.
        !            64: #      Add a name separator between each system.
        !            65: #
        !            66: > ${O_LOGS}-1
        !            67: for i in uucico uucp uux uuxqt
        !            68: do
        !            69:        cd $LOGDIR/$i
        !            70:        for j in *
        !            71:        do
        !            72:                if [ "$j" = "*" ]
        !            73:                then
        !            74:                        break
        !            75:                fi
        !            76:                echo "********** $j **********" >> ${O_LOGS}-1
        !            77:                cat $j >> ${O_LOGS}-1
        !            78:                rm -f $j
        !            79:        done
        !            80: done
        !            81: 
        !            82: #      Execute the system directory cleanup program
        !            83: #      See uucleanup.1m for details.
        !            84: uucleanup -D7 -C7 -X2 -o2 -W1
        !            85: #      Use the grep instead of the mv to ignore warnings to uucp
        !            86: # grep -v 'warning message sent to uucp' $ADMIN/uucleanup > $OLD/uucleanup
        !            87: mv $ADMIN/uucleanup $OLD/uucleanup
        !            88: if [ -s $OLD/uucleanup ]
        !            89: then
        !            90:        (echo "cleanup:"; cat $OLD/uucleanup) >>$WISDOM
        !            91: fi
        !            92: >$ADMIN/uucleanup
        !            93: 
        !            94: #  cleanup funny directories that may have been created in the spool areas
        !            95: for d in $SPOOL/[A-z]*
        !            96: do
        !            97:        if [ -z "`ls $d`" ]; then
        !            98:                continue
        !            99:        fi
        !           100: 
        !           101:        cd $d
        !           102:        for s in *
        !           103:        do
        !           104:                if [ "$s" = "*" ]
        !           105:                then
        !           106:                        break
        !           107:                fi
        !           108:                if [ -d $s ]
        !           109:                then
        !           110:                        rm -fr $s
        !           111:                fi
        !           112:        done
        !           113: 
        !           114: #              if it is now empty, remove it.
        !           115:        cd ..
        !           116:        rmdir $d
        !           117: done 2>&1 >/dev/null
        !           118: 
        !           119: #
        !           120: #      Find old cores
        !           121: #
        !           122: find $SPOOL -name core -print > $TMP
        !           123: if [ -s $TMP ]
        !           124: then
        !           125:        (echo "cores:"; cat $TMP) >>$WISDOM
        !           126: fi
        !           127: 
        !           128: #
        !           129: #      Remove old files and directories
        !           130: #
        !           131: find $PUBDIR -type f -mtime +30 -exec rm -f "{}" \;
        !           132: find $PUBDIR/* -type d -exec rmdir "{}" \;
        !           133: find $SEQDIR -mtime +30 -exec rm -f "{}" \;
        !           134: find $WORKDIR -mtime +1 -exec rm -f "{}" \;
        !           135: find $STATDIR -mtime +2 -exec rm -f "{}" \;
        !           136: find $CORRUPT -mtime +10 -exec rm -f "{}" \;
        !           137: 
        !           138: rm -f $LOCKS/LTMP*
        !           139: rmdir $SPOOL/[A-z]* 2>/dev/null
        !           140: 
        !           141: #
        !           142: #      Mail a daily summary of status
        !           143: #
        !           144: grep passwd ${O_LOGS}-1 > $TMP
        !           145: # grep "REQUEST.*/" ${O_LOGS}-1 >> $TMP
        !           146: if [ -s $TMP ]
        !           147: then
        !           148:        (echo "passwd requests:"; cat $TMP) >>$WISDOM
        !           149: fi
        !           150: 
        !           151: awk '/(DENIED)/        {print prev}
        !           152:                {prev = $0}' ${O_LOGS}-1 > $TMP
        !           153: if [ -s $TMP ]
        !           154: then
        !           155:        (echo "denied:"; cat $TMP) >>$WISDOM
        !           156: fi
        !           157: # 
        !           158: # uustat -q > $TMP
        !           159: # if [ -s $TMP ]
        !           160: # then
        !           161: #      (echo "Subject: uu-status"; cat $TMP) >>$WISDOM
        !           162: # fi
        !           163: 
        !           164: ls $CORRUPT > $TMP
        !           165: if [ -s $TMP ]
        !           166: then
        !           167:        (echo "$CORRUPT:"; cat $TMP) >>$WISDOM
        !           168: fi
        !           169: 
        !           170: tail $OLD/errors 2>/dev/null > $TMP
        !           171: tail $OLD/Foreign 2>/dev/null >> $TMP
        !           172: if [ -s $TMP ]
        !           173: then
        !           174:        (echo "Admin stuff:"; cat $TMP) >>$WISDOM
        !           175: fi
        !           176: # (echo "Subject: uucleanup ran; $SPOOL du"; du $SPOOL) >>$WISDOM
        !           177: 
        !           178: if [ -s $WISDOM ]; then
        !           179:        mail $MAILTO <$WISDOM
        !           180: fi
        !           181: rm -f $WISDOM
        !           182: 
        !           183: #
        !           184: #      Dispose of mail to uucp and nuucp
        !           185: #
        !           186: # rm -f $MAILDIR/uucp $MAILDIR/nuucp $TMP
        !           187: rm -f $TMP

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.