• Linux下Tomcat日志分割


    本文主要讲述使用cronolog分割tomcat的catalina.out文件。

    1. 下载编译安装

    wget https://files-cdn.cnblogs.com/files/shidian/cronolog-1.6.2.tar.gz
    tar zxvf cronolog-1.6.2.tar.gz 
    cd cronolog-1.6.2./configure 
    make 
    make install

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

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

     如下图所示:

    3. 编辑Tomcat目录bin下的catalina.sh文件

    找到下面这个,类似这样的行有2处:

    org.apache.catalina.startup.Bootstrap "$@" start 
    >> "$CATALINA_OUT" 2>&1 "&"

    第一处:Tomcat是带"-security"参数的启动。

    第二处:默认Tomcat启动方式,也就是else下面那部分,我们只修改这里。

    另外还要把touch "$CATALINA_OUT"这样注释掉。

    修改后的结果如下所示:

    #  touch "$CATALINA_OUT"
      if [ "$1" = "-security" ] ; then
        if [ $have_tty -eq 1 ]; then
          echo "Using Security Manager"
        fi
        shift
        eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
          -D$ENDORSED_PROP=""$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 $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
    #      -D$ENDORSED_PROP=""$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 "&"
    
    
        "$_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 /opt/tomcat/apache-tomcat-9.0.13/logs/catalina.%Y%m%d.out >> /dev/null &
      fi

    将原来else的脚本屏蔽掉,加入后面的这段代码。

    4. 重启Tomcat

    重启后logs目录如下所示:

    配置cronolog完成了,观察每天是否有个新的catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件。

    【参考资料】

    https://blog.51cto.com/12924846/2351032

  • 相关阅读:
    第五章
    大道至简第一章。原因:之前第一章发表成文章了,无法显示在主页
    字符加密
    String类的使用说明
    String.equals()
    大道至简第四章
    使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。
    Java——Random类随机整数---18.10.11
    Java——英文字母---18.10.11
    Java——自动生成30道四则运算---18.09.27
  • 原文地址:https://www.cnblogs.com/shidian/p/11396065.html
Copyright © 2020-2023  润新知