Linux系统下分割tomcat日志

      在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在window下的效果,做到按日期自动分割日志,过程如下:

      1.在Linux安装cronolog,本文中采用的是cronolog-1.6.2版本

      [root@Test src]# tar zxvf cronolog-1.6.2.tar.gz

      [root@Test cronolog-1.6.2]# ./configure

      [root@Test cronolog-1.6.2]# make && make install

      2.找到tomcat下catalina.sh文件,编辑修改

      [root@Test bin]# vi catalina.sh

shift
  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    "$_RUNJAVA" "$LOGGING_CONFIG" $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
    "$_RUNJAVA" "$LOGGING_CONFIG" $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_OUT" 2>&1 &

     修改为
  shift
  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    "$_RUNJAVA" "$LOGGING_CONFIG" $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 
      |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &

  else
    "$_RUNJAVA" "$LOGGING_CONFIG" $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 
      |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &

3.重新启动tomcat,效果如下:

 ps:由于不知道怎么上传附件, cronolog工具安装就靠大家自行下载了

原文地址:https://www.cnblogs.com/lmaplet/p/6232322.html