logroute处理  最简单
cat /etc/logrotate.d/tomcat
/usr/local/tomcat_pingtai/logs/catalina.out {
   copytruncate   拷贝后截断,把当前log拷贝后截断。可以理解为把内容拷贝走作为备份,然后清空当前文件
   daily      按天切割
   dateext     日期格式
   rotate 30   保留30个,之前的删除
   missingok    在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误
   notifempty    如果日志文件为空,轮循不会进行
}


1. 下载安装 cronolog,它的主页 http://cronolog.org . 下载的是源码,安装过程就是 ./configure, make, make install,
最后一步可直接把 src/cronolog 执行文件拷入到某个适合的目录,如 /usr/local/sbin/ 目录

或者 yum install cronolog -y

2. 编辑 bin/catalina.sh 文件

    1)找到下面行并把它用 # 注释掉

touch "$CATALINA_BASE"/logs/catalina.out
Tomcat7 的 bin/catalina.sh 文件要注释的行是  touch "$CATALINA_OUT"

    2)删除下面的行,有两处,并添加新的

>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &   
    为

2>&1 | /usr/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

Tomcat7 的 bin/catalina.sh 中是需要替换行是

>> "$CATALINA_OUT" 2>&1 "&"
替换后该行的内容与上面是一样的。

为什么 Tomcat7 后会有所不同,因为在它的 catalina.sh 文件中有如下定义
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

3. 保存 catalina.sh 文件,重启 Tomcat 即可。

以后看到 $TOMCAT_HOME/logs/ 下的就是 catalina-2012-09-16.out, catalina-2012-09-17.out ...... 一系列文件,
将不会产生 catalina.out 文件了

results matching ""

    No results matching ""