logrotate程序默认程序会切割/etc/logrotate.d/下面定义的文件,以下方法请使用root用户操作,不然会提示权限不足。
创建文件:
#vi /etc/logrotate.d/tomcat
填入以下信息(catalina.out实际路径以实际情况填写):
/usr/local/tomee/logs/catalina.out {
daily
rotate 10
missingok
dateext
notifempty
copytruncate
}
授权(以我想使用的用户jjzb为例):
立即切割看下效果:#chown jjzb.jjzb /etc/logrotate.d/tomcat
#chmod +x /etc/logrotate.d/tomcat
#logrotate --force /etc/logrotate.d/tomcat
如无报错会显示以上信息,会产生以日期结尾的文件。
参数说明,以下参数可根据实际想要效果添加删除:
daily 指定转储周期为每天
rotate 15 指定日志文件删除之前转储的次数,0指没有备份,15指保留15个备份
missingok 如果日志不存在则忽略该警告信息
dateext 文件后缀是日期格式,也就是切割后文件是:xxx.log-20150828.gz
compress 通过gzip压缩转储以后的日志(gzip -d xxx.gz解压)
notifempty 如果是空文件的话,不转储
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断