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

    使用系统自带的logrotate进行切割:

    (安装:yum install logrotate -y)

    在/etc/logrotate.d/文件夹下新建文件,内容如下:

    vim /etc/logrotate.d/tomcat

    /application/Tomcat8.5.57/logs/catalina.out {
    copytruncate
    daily
    rotate 90
    missingok
    compress
    dateext
    dateformat_%Y-%m-%d
    }

    参数解析:

    /application/Tomcat8.5.57/logs/catalina.out:为tomcat的日志路径

    copytruncate: 用于还在打开中的日志文件,把当前日志备份并截断

    daily:日志文件将按天轮询,其它可用值为‘monthly’,‘weekly’或者‘yearly’

    rotate :指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份

    missingok :如果日志不存在则忽略该警告信息,继续下次的轮询

    compress: 通过gzip 压缩转储以后的日志

    dateext :切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,没有这个配置项会附加一个小数点加一个数字序号.

    dateformat :配合dateext使用可以为切割后的日志加上YYYYMMDD格式的日期,如dateformat -%Y%m%d

    其余参数:

    notifempty :如果是空文件的话,不转储

    size :当日志文件到达指定的大小时才转储(单位可以为bytes、KB、MB)

    olddir:带路径,将轮替后的日志文件存放到指定目录

    mail:将轮替后的文件发送到指定E-mail地址

    ...........................................

    可以手动执行测试:/usr/sbin/logrotate -vf /etc/logrotate.d/tomcat

      1. -?或--help:在线帮助;
      2.  
        -d或--debug:详细显示指令执行过程,便于排错或了解程序执行的情况;
      3.  
        -f或--force :强行启动记录文件维护操作(强制转存日志);
      4.  
        -s<状态文件>或--state=<状态文件>:使用指定的状态文件;
      5.  
        -v或--version:显示指令执行过程;
      6.  
        -usage:显示指令基本用法。

    工作原理:

    crontab会每天定时执行/etc/cron.daily目录下的脚本,而这个目录下有个文件叫logrotate;

    cat /etc/cron.daily/logrotate

    /usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
    EXITVALUE=$?
    if [ $EXITVALUE != 0 ]; then
        /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
    fi
    exit 0
  • 相关阅读:
    业余爱好很有必要
    平和的心态
    合理预期
    有所为,有所不为
    iOS中使用UITextView设置不同文本部分点击事件小结
    一直在路上
    Windows平台交叉编译Arm Linux平台的QT5.7库
    UOS创建开机自启程序或脚本
    HTTP HTTP请求报文和响应报文的格式
    ObjectObject.prototype.toString.call()方法的使用
  • 原文地址:https://www.cnblogs.com/shiqing-zhang/p/14085358.html
Copyright © 2011-2022 走看看