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 파일이 일반적으로 루트에 속하지 않고 tomcat:tomcat과 같은 사용자에게 속하기 때문에 발생합니다.

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

이 문제를 해결하려면 logrotate 구성에 "su tomcat tomcat" 행을 추가해야 합니다.

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

그런데 매일 항목이 있고 크기가 256M인 것은 모순입니다. 매일 회전하거나 로그 파일이 지정된 크기에 도달할 때 회전하지만 둘 다 수행할 수는 없습니다.

관련 정보