linux下tomcat日志切割

       在Linux系统下,tomcat日志默认输出到catalina.out,随着时间的推移,catalina.out会持续增大,不方便管理和查询。本文将介绍如何用 cronolog工具进行日志按日期分割。

一、安装cronolog
1、wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

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

3、cd cronolog-1.6.2

4、运行安装

./configure

make && make install

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

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

二、进入Tomcat的bin目录,打开catalina.sh文件,修改下面行中的内容:

1、把touch "$CATALINA_OUT"这行注释掉

2、只需要把else后的

  org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$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_OUT"  
if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Djava.security.manager \
      -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"  
  else
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $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 2>&1 \
       | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

3、重启tomcat,查看是否生效

你可能感兴趣的:(tomcat)