All pastes #91585 Raw Edit

Unnamed

public text v1 · immutable
#91585 ·published 2006-07-18 19:04 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`
        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 600

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

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

exit 0