记录一次对生产环境中对tomcat日志catalina.out切割,原因是日志文件太大,不方便排查问题
ubuntu环境下,操作步骤如下
1、创建文件
touch /etc/logrotate.d/tomcat
2、编辑文件
cd /etc/logrotate.d && vim tomcat
写入内容
/opt/tomcat/logs/catalina.out { #对tomcat目录下的catalina.out日志进行切割
daily #切割文件的周期,比如每天,每周,每月
rotate 10 #最多保留日志文件的个数
compress #切割的文件是否需要进行压缩
missingok #如果日志丢失,不报错继续下一次切割
dateext #使用当前日期作为命名格式
notifempty #当日志为空的时候,不进行切割
copytruncate #用于已经打开中的日志文件,先复制再清空,可能会丢失部分日志
size 10M #文件超过指定大小之后才进行切割
}
以上按照自己当时的环境进行配置
原理:
1.cron守护程序每天都运行/etc/cron.daily/目录中列出的执行文件
2.这将触发/etc/cron.daily/logrotate文件,该文件通常随Linux安装一起提供。它运行命令“/usr/sbin/logrotate /etc/logrotate.conf”
3.在/etc/logrotate.conf中包括的所有脚本/etc/logrotate.d/目录。
4.这将触发您在上一步中编写的/etc/logrotate.d/tomcatlog文件。
运行logrotate
logrotate --force /etc/logrotate.d/tomcat