X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=logrotate.sh;h=9938c80c0e52c124d5117080b07a97e098b2d684;hb=82b142aa2d3c809bde0bfdf003890aa0097b232d;hp=d694981785ff03ae6e6819878d36e345a8de37ac;hpb=57f23cb7c6f8e527220ea8a2aa2f21c41c1f6dea;p=scripts%2Fscripts.git diff --git a/logrotate.sh b/logrotate.sh index d694981..9938c80 100755 --- a/logrotate.sh +++ b/logrotate.sh @@ -2,19 +2,27 @@ # rotate the messages file if >= 4M -if [ -f /var/log/messages ] ; then -mess_size=`du -h /var/log/messages | sed 's/\/var\/log\/messages//' | sed 's/.*k/0/' | awk -F. '{ print $1 }'` -if [ "$mess_size" -gt "3" ] ; then - d_stamp=`date | awk '{ print $3 "-" $2 "-" $6 }'` - mv /var/log/messages /var/log/messages-${d_stamp} - gzip /var/log/messages-${d_stamp} - 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/syslogd restart -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