使用logrotate分割Tomcat的catalina日志
摘要: 使用logrotate分割Tomcat的catalina日志
使用logrotate分割Tomcat的catalina日志
1 | 切割catalian日志的方式有很多种,比如shell脚本的、cronolog或者通过配置log4j等等这些都可以实现。但今天我要介绍是使用logrotate来按日期生成日志。 |
原文是一个外国博主的文章,在这里分享给大家。
1 | 如果catalina.out的大小超过了2G,那么tomcat可能在没有错误提示的情况下崩溃、无法启动。所以为了避免出现这个问题,我们应该每天分割catalina.out。 |
如何每天自动的分割catalina.out或者大小达到5M时切割catalina.out
1.新建一个文件
在/etc/logrotate.d/ 目录下新建一个文件,命名随意。
1 | # /etc/logrotate.d/tomcat |
2.复制下面的语句至上文新建的文件中
1 | # /var/log/tomcat/catalina.out { copytruncate daily rotate 7 compress missingok size 5M } |
各个配置的具体含义:
确保/var/log/tomcat/catalina.out指向你服务器中的catalina.out的地址
daily - 每天切割
rotate - 保留最多七个文件
compress - 压缩分割后的文件
size - 当catalina.out大于5M时分割
如何起作用
每天晚上,cron daemon会自动执行/etc/cron.daily目录下的任务
这个会触发/etc/cron.daily/logrotate文件,logrotate一般是随linux按安装的。它会执行这个命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)
/etc/logrotate.conf 包含了/etc/logrotate.d目录下的所有脚本
这个会触发上一步你写的/etc/logrotate.d/tomcate文件
手动执行logrotate
执行以下语句来手动运行cron任务
1 | # /usr/sbin/logrotate /etc/logrotate.conf |
logrotate的更多操作
1 | man logrotate |
阿里云日志切割
- 执行命令
1
2
3
4
5
6
7
8
9
10
11# cat >/etc/logrotate.d/tomcat <<EOF
/home/admin/taobao-tomcat-production-7.0.59.3/logs/catalina.out {
daily
rotate 7
dateext
dateformat .%Y-%m-%d
notifempty
missingok
copytruncate
}
EOF - 手动触发
1 | # logrotate -f /etc/logrotate.d/tomcat |
- 本文标题:使用logrotate分割Tomcat的catalina日志
- 本文作者:无痕
- 本文链接:https://paascloud.net/2020/09/10/tomcat/logrotate-spli-tomcat-catalina-log/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!