logrotate切割tomcat日志并定期删除

当Tomcat的日志文件catalina.out的大小大于2GB时,Tomcat程序崩溃时将有可能会启动失败并且不会有任何错误信息提示。为了避免该场景的出现,我们要定期轮转catalina.out日志文件。

这里小白使用CentOS6U5自带的logrotate程序来解决catalina.out的日志轮转问题。这种方式比较简单。在/etc/logrotate.d/目录下新建一个名为tomcat的文件,

cat >/etc/logrotate.d/tomcat-www<<EOF
/application/apache-tomcat-biz/logs/catalina.out{
copytruncate
daily
rotate 14
missingok
compress
delaycompress
dateext
dateformat .%Y-%m-%d.log
#size 16M
}
EOF

/bin/echo '0 2 find /application/apache-tomcat-www/logs -mtime +17 -name '' -exec rm -rf {} \;' >>/var/spool/cron/root

以上的配置说明:

/usr/local/apache-tomcat-8.0.28/logs/catalina.out{ # 要轮转的文件
copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件
daily # 每天进行catalina.out文件的轮转
rotate 7 # 至多保留7个副本
missingok # 如果要轮转的文件丢失了,继续轮转而不报错
compress # 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右)
delaycompress 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。
size 16M # 当catalina.out文件大于16MB时,就轮转,优先级高于daily

猜你喜欢

转载自blog.51cto.com/19840202/2546161
今日推荐