日期:2014-05-16  浏览次数:20652 次

Linux 下切分Tomcat 的catalina.out日志文件
  最近将一个项目发布到linux上,运行一段时间后,突然发现catalina.out这个文件已经达到119G了,占用了大量的磁盘空间,为解决这个问题,在 ITEYE 上搜索了大量的解决方法,最后终于解决问题,现记录如下:

1、下载cronolog-1.6.2,网址 http://cronolog.org/

2、在linux安装cronolog,安装步骤如下:

   a、解压缩 tar zxvf cronolog-1.6.2.tar.gz

   b、进入cronolog安装文件所在目录

   c、cd cronolog-1.6.2

   d、运行安装
   # ./configure

   # make

   # make install

    e、查看cronolog安装后所在目录(验证安装是否成功)

     # which cronolog

   一般情况下显示为:/usr/local/sbin/cronolog

3、修改Tomcat配置

    进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你

   直接查找catalina.out,一般我们修改下面行中的内容
   else 
    “$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \ 
    -Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \ 
    -Dcatalina.base=”$CATALINA_BASE” \ 
    -Dcatalina.home=”$CATALINA_HOME” \ 
    -Djava.io.tmpdir=”$CATALINA_TMPDIR” \ 
    org.apache.catalina.startup.Bootstrap “$@” start  \ 
    >> “$CATALINA_BASE”/logs/catalina.out 2>&1 & 

    if [ ! -z "$CATALINA_PID" ]; then 
    echo $! > $CATALINA_PID 
    fi 
    fi 

修改
org.apache.catalina.startup.Bootstrap “$@” start  \ 
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &


org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \ 
| /usr/local/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &

同时,上面有一行
touch “$CATALINA_BASE”/logs/catalina.out 

可以注释掉,完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.2009-02-18.out的日志,是按日生成的。