Tomcat的catalina.out文件过大问题(logrotate方式)

问题

sudo du -sh /opt/tomcat/logs/*
...
4.5G    /opt/tomcat/logs/catalina.out
...

Tomcat在Cent OS上面的日志文件catalina.out达到了4G多。

解决

logrotate

创建配置文件

vi /etc/logrotate.d/tomcat

编写配置文件:

/opt/tomcat/logs/catalina.out {   
    copytruncate   
    daily   
    rotate 7   
    compress   
    missingok   
    size 5M  
}

配置说明:

  • /opt/tomcat/logs/catalina.out:需要归档的日志路径
  • copytruncate:复制截断模式
  • daily:每天触发一次
  • rotate:最多7个日志文件
  • compress: 使用压缩
  • missingok:如果缺少日志文件,请继续执行下一个日志文件而不发出错误消息
  • size: 仅当日志文件大小超过字节大小时才会轮换日志文件

这样logrotate就每天自动触发一次日志切割归档。

测试logrotate轮写日志

logrotate -v /etc/logrotate.conf
...
rotating pattern: /opt/tomcat/logs/catalina.out  5242880 bytes (7 rotations)
empty log files are rotated, old logs are removed
considering log /opt/tomcat/logs/catalina.out
  log needs rotating
rotating log /opt/tomcat/logs/catalina.out, log->rotateCount is 7
dateext suffix '-20180928'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
copying /opt/tomcat/logs/catalina.out to /opt/tomcat/logs/catalina.out-20180928
set default create context
truncating /opt/tomcat/logs/catalina.out
compressing log with: /bin/gzip
...

然后,在tomcat的logs文件夹下面查看一下,是否对catalina.out文件进行了轮写备份。

[admin@Servicenumber logs]$ ls -lh
总用量 23M
...
-rw-r-----. 1 tomcat tomcat 249K 9月  28 09:30 catalina.out
-rw-r-----. 1 tomcat tomcat 566K 9月  28 09:27 catalina.out-20180928.gz
...

看到了gz文件,说明logrotate没有问题了。

logrotate的日志文件

/var/lib/logrotate.status 

注意

使用logrotate时候,一定要确保tomcat日志输出位置是位于/var/log/tomcat/catalina.out才能够生效。不是操作系统的/var/log/日志输出位置,logrotate是无法启用的。

参考

logrotate(8) - Linux man page

How to Rotate Tomcat catalina.out

处理Tomcat日志catalina.out日志文件过大的问题(第二种方法适合各种日志的切割)

第十八章、認識與分析登錄檔

转载于:https://my.oschina.net/fxtxz2/blog/2209603

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值