在我们的Tomcat服务器上,我经常看到如下警告:
/etc/cron.daily/tomcat8:
gzip: /var/log/tomcat8/app1/app1.log.gz already exists; not overwritten
gzip: /var/log/tomcat8/app2/app2.log.gz already exists; not overwritten
gzip: /var/log/tomcat8/app3/app3.log.gz already exists; not overwritten
gzip: /var/log/tomcat8/app4/app4.log.gz already exists; not overwritten
我发现了Tomcat7 logrotate: superx_default_xml.log.gz already exists中讨论的类似问题,但从未提供过答案。
虽然寻找答案我似乎找不到解决这个问题的方法,并且希望这里有人能够指出我是正确的直接人选。
我们在Ubuntu 16.04.1 LTS上的Tomcat8服务器上运行我们的Tomcat 8服务器。
亲切的问候。
答案 0 :(得分:0)
- find /var/log/$NAME/ -name \*.$LOGEXT -daystart -mtime +0 -print0 \
+ find /var/log/$NAME/ -name \*[0-9].$LOGEXT -daystart -mtime +0 -print0 \
log4j在旋转时将日期后缀添加到日志文件名称中,因此那里必须有一个数字,因此只需将此数字添加到/etc/cron.daily/tomcat8
的glob中即可。
答案 1 :(得分:0)
我的2cents解决方案:
在/ etc / default / tomcat8中添加以下行
LOGEXT="20[0-9][0-9]-[0-9][0-9]-[0-9][0-9].log log.20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] txt"
这将选择用于压缩和清除的文件,例如
/var/log/tomcat8/localhost.2019-09-09.log
/var/log/tomcat8/app1/app1.log.2019-09-09
/var/log/tomcat8/localhost_access_log.2019-09-09.txt
并保留app1.log
个文件,这些文件可能会被log4j附加程序重命名。
因此/etc/cron.daily/tomcat8
不需要更改。
与Debian 9(拉伸)发行版的tomcat8一起使用。 YMMV。