All pastes #92932 Raw Edit

Someone

public text v1 · immutable
#92932 ·published 2006-07-20 01:20 UTC
rendered paste body
#!/bin/bash
#http log rotation dor apache2 on RH

alias rm=rm
HOSTNAME=$(hostname)
DATE=$(date +%Y%m%d)
LOGDIR=/usr/local/apache2/logs

echo "Starting HTTP rotation `date +%Y%m%d`"

if [ -e ${LOGDIR}/access_log ]; then
        cd ${LOGDIR}
        mv access_log access_log.`hostname`-`date +%Y%m%d`
        mv error_log error_log.`hostname`-`date +%Y%m%d`
        gzip access_log.`hostname`-`date +%Y%m%d`
        gzip error_log.`hostname`-`date +%Y%m%d`
        find . -mtime +30 -exec rm {} \;
        echo "access_log is not found" >> /var/log/messages
fi

for aclogs in $(find ${LOGDIR} -name \*-access_log) ; do mv $aclogs $aclogs.$HOSTNAME.$DATE; done
for erlogs in $(find ${LOGDIR} -name \*-error_log) ; do mv $erlogs $erlogs.$HOSTNAME.$DATE; done

/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
sleep 6

for aclogs in $(find ${LOGDIR} -name \*-access_log.$HOSTNAME.$DATE) ; do gzip $aclogs; done
for erlogs in $(find ${LOGDIR} -name \*-error_log.$HOSTNAME.$DATE) ; do gzip $erlogs; done

echo " HTTP rotation ended at `date +%Y%m%d`"

exit 0