tomcat catalina.out日志切割(logrotate)

简单说明:
1,因为tomcat日志会一直往catalina.out里面输出,所以回到值catalina.out非常大,占用磁盘空间
2,日志非常大,查看日志就需要很长时间。
3,据说catalina.out日志超过2个G,程序崩溃时将有可能会启动失败并且不会有任何错误信息提示

所以,基于以上三点,所以需要对catalina.out进行切割。

我早期切割的方法是写脚本,原理就是讲catalin.out 复制一份,重新命名加上日期。然后再cat /dev/null > catalina.out 清空日志即可。

二,使用系统自带的日志切割工具logrotate切割

vi /etc/logrotate.d/tomcat
/usr/local/apache-tomcat/logs/catalina.out {
copytruncate
daily
rotate 5
missingok
compress
size 16M
}

配置简单说明:
/usr/local/apache-tomcat/logs/catalina.out{ #要切割的文件
daily # 每天进行catalina.out文件的切割
rotate 5 # 保留5个文件
missingok # 文件丢失了,继续切割而不报错
compress # 使用压缩的方式
size 16M # 当catalina.out文件大于16MB时,就切割

工作原理:
每天晚上crond守护进程会运行在/etc/cron.daily目录中的任务列表;
与logrotate相关的脚本也在/etc/cron.daily目录中。运行的方式为"/usr/bin/logrotate /etc/logrotate.conf";
/etc/logrotate.conf文件include了/etc/logrotate.d/目录下的所有文件。还包括我们上面刚创建的tomcat文件;
/etc/logrotate.d/tomcat文件会触发/usr/local/apache-tomcat/logs/catalina.out文件的轮转。
}

参考:http://lavenliu.blog.51cto.com/5060944/1765791

posted @ 2017-09-20 23:15  某电商首席日志工程师  阅读(4238)  评论(5编辑  收藏  举报