안녕하세요, logrotate 구성이 저장되는 디렉토리가 있습니다. /directory1/scripts/logrotate/logrotate_1.conf가 모두 유사하다고 가정합니다.
logrotate_1.conf
su root root
/zzz/env/yyy/tomcat/logs/catalina.out {
rotate 90
copytruncate
missingok
dateext
dateformat -%Y-%m-%d_%H%M.log
compress
lastaction
mv /zzz/env/yyy/tomcat/logs/*.gz /zzz/env/yyy/logs/archive
chown www-data:www-data /zzz/env/yyy/logs/archive -R
endscript
}
crontab에서는 이렇게 logrotate를 실행하도록 설정했는데 모든 아이디어가 잘 작동합니다.
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
58 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
57 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf
하지만이와 같이 logrotate 실행을 설정하면 작동하지 않습니다. 어느 날은 첫 번째 줄부터 녹음을 시작하고, 다음 날은 첫 번째와 세 번째 줄부터 녹음을 시작하는 식입니다.
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf
logrotate를 동시에 실행하는 데 문제가 있는 것 같습니다. 왜 이런 일이 일어나는지 설명해 주실 수 있나요?
답변1
logrotate
상태 파일을 사용하여 작업을 추적합니다. logrotate
순환 구성이 여러 개 있더라도 인스턴스는 하나만 있어야 합니다 . 실패할 경우 -s
각 인스턴스에 대해 다른 상태 파일을 지정합니다( ).