简单说明:
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文件的轮转。
}