欢迎您, 来到 宁时修博客.^_^

Tomcat----04、logrotate切割catalina.out

2018/09/02 言则行 Tomcat 560
日志切割工具 logrotate

一、logrotate配置

        linux自带logrotate,没有安装的话执行:

    yum install -y logrotate


        配置切割catalina.out:

    [root@flycloud ~]# cat /etc/logrotate.d/tomcat 
    /usr/local/tomcat/logs/catalina.out {
    copytruncate
    daily
    rotate 15
    compress
    notifempty
    dateext
    missingok
    }

        

        释义:

/usr/local/tomcat/logs/catalina.out # 日志路径
copytruncate                        # 文件在打开中时,截断当前并备份
daily                               # 每天切割一次日志
rotate                              # 保留15天的日志备份
compress                            # 通过gzip压缩备份日志
notifempty                          # 空日志,不备份
dateext                             # 文件后缀是日期格式,例:xxx.out-20180902.gz
missingok                           # 日志不存在则忽略该警告信息
#size 5M                            # catalina.out大于5M就进行切割,可用可不用


        不常用参数:

weekly                  # 每周切割一次日志
monthly                 # 每月切割一次日志
nocompress              # 不压缩
nocopytruncate          # 备份日志但不截断
create mode owner group # 指定文件权限用户创建新文件
nocreate                # 不建立新文件
delaycompress和compress # 一起使用时,转储的日志到下一次转储时才压缩
nodelaycompress         # 转储同时压缩
errors address          # 转储时的错误信息发送到指定Email地址
ifempty                 # 空文件也转储,默认选项
mail address            # 把转储的日志文件发送到指定Email地址
nomail                  # 转储时不发送日志文件
olddir directory        # 转储后的日志文件放入指定目录,必须和当前日志文件在同一个文件系统
noolddir                # 转储后的日志文件和当前日志文件放在同一个目录
prerotate/endscript     # 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript    # 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行


    注:配置文件里一定要配置rotate这个参数。如果不配置默认是0个文件,也就是只允许存在一份日志,刚切分出来的日志会马上被删除。


二、测试

# 1. 调试 (d = debug)参数为配置文件,不指定则执行全局配置文件
logrotate -d /etc/logrotate.d/tomcat

# 2. 强制执行(-f = force),可以配合-v(-v =verbose)使用,注意调试信息默认携带-v
logrotate -v -f /etc/logrotate.d/tomcat


    例:

[root@flycloud ~]# logrotate -f -v /etc/logrotate.conf
[root@flycloud ~]# ll /usr/local/tomcat/logs/
total 328
-rw-r----- 1 root root 27079 Sep  1 23:53 catalina.2018-09-01.log
-rw-r----- 1 root root 81999 Sep  2 23:53 catalina.2018-09-02.log
-rw-r----- 1 root root     0 Sep  2 15:34 catalina.out
-rw-r----- 1 root root  5555 Sep  2 15:34 catalina.out-20180902.gz

    再访问java 项目,看看catalina.out会不会写入信息:

[root@flycloud ~]# ll /usr/local/tomcat/logs/
total 328
-rw-r----- 1 root root 27079 Sep  1 23:53 catalina.2018-09-01.log
-rw-r----- 1 root root 81999 Sep  2 23:53 catalina.2018-09-02.log
-rw-r----- 1 root root  6750 Sep  2 15:42 catalina.out
-rw-r----- 1 root root  5555 Sep  2 15:34 catalina.out-20180902.gz


这个工具会自动每天帮我们分隔日志并进行压缩打包,不需要我们在写crontab的脚本,非常的好用!

点赞
说说你的看法

所有评论: (0)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群