Ubuntu .log.gz上的Tomcat8已经存在,未被覆盖

时间:2016-09-30 09:58:06

标签: ubuntu tomcat tomcat8 ubuntu-16.04 logrotate

在我们的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服务器。

亲切的问候。

2 个答案:

答案 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。