zoukankan      html  css  js  c++  java
  • Tomcat日志文件catalina.out的分割

    catalina.out其实是tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。所以我们在应用里使用System.out打印的东西都会到这里来。另外,如果我们在应用里使用其他的日志框架,配置了向Console输出的,则也会在这里出现。

    如果Tomcat的catalina.out的大小超过了2G,那么tomcat可能在没有错误提示的情况下崩溃、无法启动。所以为了避免出现这个问题,我们应该每天分割catalina.out。

    在此我使用的是logrotate工具切割catalina.out文件

    1、首先在/etc/logrotate.d/目录创建一个tomcat文档,内容如下:

    /data/apache-tomcat-9.0.13/logs/catalina.out
    {
        copytruncate
        daily   
        rotate 10
        compress   
        missingok   
        size 16M  
    }

    配置说明:

      /data/apache-tomcat-9.0.13/logs/catalina.out    #服务器中catalina.out存放地址

      copytruncate    #拷贝原日志文件,并将其大小变为0

      daily    #每天切割

      rotate 10    #保留最多10个文件

      compress   #压缩分割后的文件

      missingok   #文件丢失了,继续切割而不报错

      size 16M     #当catalina.out文件大于16M时,就切割

    2、自动切割

    1. 每天晚上,cron daemon会自动执行/etc/cron.daily目录下的任务
    2. 这个会触发/etc/cron.daily/logrotate文件,logrotate一般是随linux安装的。它会执行这个命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)
    3. /etc/logrotate.conf 包含了/etc/logrotate.d目录下的所有脚本
    4. 这个会触发上一步写的/etc/logrotate.d/tomcat文件

    3、手动切割

      执行以下语句来手动运行cron任务 

    /usr/sbin/logrotate /etc/logrotate.conf

    以上是生产环境使用的tomcat日志文件catalina.out切割操作。

  • 相关阅读:
    抽象类中可以存在的成员
    读暗时间后感
    使用正则表达式限制QLineEdit不能输入大于某个整数
    QSharedMemory 使用
    BUUCTF-misc九连环 详解
    BUUCTF-数据包中的线索 1
    BUUCTF-Windows系统密码
    [CISCN2019 华北赛区 Day2 Web1]Hack World 1详解
    [ZJCTF 2019]NiZhuanSiWei 1详解
    BUUCTF [BJDCTF2020]Easy MD5 详解
  • 原文地址:https://www.cnblogs.com/eeexu123/p/13098379.html
Copyright © 2011-2022 走看看