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