# rotate the messages file if >= 4M
-if [ -f /var/log/messages ] ; then
-mess_size=`du -h /var/log/messages | awk '{ print $1 }' | sed 's/.*k/0/' | awk -F. '{ print $1 }'`
-if [ "$mess_size" -gt "3" ] ; then
- rm -f /var/log/messages.bz2
- bzip2 /var/log/messages
- echo "rotated /var/log/messages file."
-fi
-fi
+dodel=0
-if [ ! -f /var/log/messages ] ; then
- touch /var/log/messages
- echo "touched new /var/log/messages file."
- /etc/init.d/sysklogd stop
- /etc/init.d/sysklogd start
-fi
+for i in /var/log/messages /var/log/sys.log /var/opt/apache2/logs/access_log /var/opt/apache2/logs/error_log; do
+ if [ -f $i ] ; then
+ mess_size=`du -h $i | awk '{ print $1 }' | sed 's/.*k/0/' | awk -F. '{ print $1 }'`
+ if [ "$mess_size" -gt "3" ] ; then
+ rm -f ${i}.bz2
+ bzip2 $i
+ echo "rotated $i file, touching empty file."
+ [ ! -f $i ] && touch $i
+ dodel=1
+ fi
+ fi
+done
+if [ "$dodel" = "1" ] ; then
+ echo "rotated files, restarting some services ..."
+ /etc/init.d/sysklogd stop
+ /etc/init.d/apache stop
+ sleep 2
+ /etc/init.d/sysklogd start
+ /etc/init.d/apache start
+ echo "done."
+fi