#!/usr/bin/ksh # ----------------------------------------------------------------------------- # Rotate, compress and delete old log files #                                                       Frank Naude - Aug 2006 # ----------------------------------------------------------------------------- export PATH=$PATH:/usr/bin LOGFILE_LIST="/tmp/x /tmp/y"    # logfiles or filename that contains the list # LOGFILE_LIST=./logrotate.list COMPRESS_AFTER_DAYS=3           # 0 to disable COMPRESS_COMMAND=gzip DELETE_AFTER_DAYS=7             # 0 to disable DELETE_COMMAND=rm DATE_FORMAT=`date '+%d%b%Y'` # ----------------------------------------------------------------------------- # Don't change anything below this line # ----------------------------------------------------------------------------- # Read in list of logfiles if stored in a file if [ -r "$LOGFILE_LIST" ]; then    LOGFILE_LIST=`cat $LOGFILE_LIST` fi for LOGFILE in $LOGFILE_LIST do    if [ -f "$LOGFILE" ]; then       echo `date`: Process logfile $LOGFILE       DIR=`dirname $LOGFILE`       FILE=`basename $LOGFILE`       # Move lofile to new name with date       mv $LOGFILE $LOGFILE.`date '+%d%b%Y'`       # Compress old logfiles       if [ $COMPRESS_AFTER_DAYS -gt 0 ]; then          find $DIR -type f -name $FILE\.* -mtime +$COMPRESS_AFTER_DAYS -exec $COMPRESS_COMMAND {} \;       fi       # Remove old logfiles       if [ $DELETE_AFTER_DAYS -gt 0 ]; then          find $DIR -type f -name $FILE\.* -mtime +$DELETE_AFTER_DAYS -exec $DELETE_COMMAND {} \;       fi    else       echo "Logfile $LOGFILE not found"    fi done