logrotate 无法截断 catalina.out - 实际答案

logrotate 无法截断 catalina.out - 实际答案

这与logrotate 无法截断 catalina.out尽管重复的问题描述了一个具有非常不同的解决方案的微妙不同的问题,但它被错误地关闭为重复。

问题(为简洁起见,缩写为相关部分):

使用以下 logrotate 配置,为什么日志会旋转,但 catalina.out 不会被截断? (这与作为重复项链接的问题中的行为不同,其中根本没有发生旋转)。

/log/apache-tomcat/catalina.out{
 copytruncate
 daily
 size 256M
 rotate 8
 missingok
 maxage 7
}

logrotate -v 验证是否正在复制日志文件、压缩和截断所有操作。

答案1

发生这种情况是因为 catalina.out 文件通常不属于 root,而是属于 tomcat:tomcat 等用户。

> ls -lah /log/apache-tomcat/catalina.out
-rw-r--r-- 1 tomcat tomcat 105K Nov  4 13:48 catalina.out

要解决此问题,您必须将“su tomcat tomcat”行添加到 logrotate 配置中。

/log/apache-tomcat/catalina.out{
 su tomcat tomcat
 copytruncate
 daily
 size 256M
 rotate 8
 missingok
 maxage 7
}

顺便说一句,每天都有条目和大小 256M 是矛盾的。要么每天轮换,要么当日志文件达到指定大小时轮换,但不能同时轮换。

相关内容