logrotate가 로그를 회전시킬 수 없습니다. 파일 권한을 확인했는데 문제가 없습니다.
구성 파일에 “su root root”를 넣어도 같은 문제가 발생합니다.
아래에서 관련 세부 사항을 찾으십시오.
logrotate.conf 파일 :
/var/log/testlog {
compress
delaycompress
dateext
maxage 180
rotate 15
size 1024M
start 1
rotate 15
missingok
}
디버그 로그 : [ “-d”옵션 사용]
rotating pattern: /var/log/testlog 1073741824 bytes (15 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/testlog
log needs rotating
rotating log /var/log/testlog, log->rotateCount is 15
dateext suffix '-20140708'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
compressing log with: /bin/gzip
renaming /var/log/testlog.15.gz to /var/log/testlog.16.gz (rotatecount 15, logstart 1, i 15),
renaming /var/log/testlog.14.gz to /var/log/testlog.15.gz (rotatecount 15, logstart 1, i 14),
renaming /var/log/testlog.13.gz to /var/log/testlog.14.gz (rotatecount 15, logstart 1, i 13),
renaming /var/log/testlog.12.gz to /var/log/testlog.13.gz (rotatecount 15, logstart 1, i 12),
renaming /var/log/testlog.11.gz to /var/log/testlog.12.gz (rotatecount 15, logstart 1, i 11),
renaming /var/log/testlog.10.gz to /var/log/testlog.11.gz (rotatecount 15, logstart 1, i 10),
renaming /var/log/testlog.9.gz to /var/log/testlog.10.gz (rotatecount 15, logstart 1, i 9),
renaming /var/log/testlog.8.gz to /var/log/testlog.9.gz (rotatecount 15, logstart 1, i 8),
renaming /var/log/testlog.7.gz to /var/log/testlog.8.gz (rotatecount 15, logstart 1, i 7),
renaming /var/log/testlog.6.gz to /var/log/testlog.7.gz (rotatecount 15, logstart 1, i 6),
renaming /var/log/testlog.5.gz to /var/log/testlog.6.gz (rotatecount 15, logstart 1, i 5),
renaming /var/log/testlog.4.gz to /var/log/testlog.5.gz (rotatecount 15, logstart 1, i 4),
renaming /var/log/testlog.3.gz to /var/log/testlog.4.gz (rotatecount 15, logstart 1, i 3),
renaming /var/log/testlog.2.gz to /var/log/testlog.3.gz (rotatecount 15, logstart 1, i 2),
renaming /var/log/testlog.1.gz to /var/log/testlog.2.gz (rotatecount 15, logstart 1, i 1),
renaming /var/log/testlog.0.gz to /var/log/testlog.1.gz (rotatecount 15, logstart 1, i 0),
renaming /var/log/testlog to /var/log/testlog.1
removing old log /var/log/testlog.16.gz
error: error opening /var/log/testlog.16.gz: No such file or directory
자세한 출력 :
rotating pattern: /var/log/testlog 1073741824 bytes (15 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/testlog
log needs rotating
rotating log /var/log/testlog, log->rotateCount is 15
dateext suffix '-20140625'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
compressing log with: /bin/gzip
renaming /var/log/testlog.15.gz to /var/log/testlog.16.gz (rotatecount 15, logstart 1, i 15),
old log /var/log/testlog.15.gz does not exist
renaming /var/log/testlog.14.gz to /var/log/testlog.15.gz (rotatecount 15, logstart 1, i 14),
old log /var/log/testlog.14.gz does not exist
renaming /var/log/testlog.13.gz to /var/log/testlog.14.gz (rotatecount 15, logstart 1, i 13),
old log /var/log/testlog.13.gz does not exist
renaming /var/log/testlog.12.gz to /var/log/testlog.13.gz (rotatecount 15, logstart 1, i 12),
old log /var/log/testlog.12.gz does not exist
renaming /var/log/testlog.11.gz to /var/log/testlog.12.gz (rotatecount 15, logstart 1, i 11),
old log /var/log/testlog.11.gz does not exist
renaming /var/log/testlog.10.gz to /var/log/testlog.11.gz (rotatecount 15, logstart 1, i 10),
old log /var/log/testlog.10.gz does not exist
renaming /var/log/testlog.9.gz to /var/log/testlog.10.gz (rotatecount 15, logstart 1, i 9),
old log /var/log/testlog.9.gz does not exist
renaming /var/log/testlog.8.gz to /var/log/testlog.9.gz (rotatecount 15, logstart 1, i 8),
old log /var/log/testlog.8.gz does not exist
renaming /var/log/testlog.7.gz to /var/log/testlog.8.gz (rotatecount 15, logstart 1, i 7),
old log /var/log/testlog.7.gz does not exist
renaming /var/log/testlog.6.gz to /var/log/testlog.7.gz (rotatecount 15, logstart 1, i 6),
old log /var/log/testlog.6.gz does not exist
renaming /var/log/testlog.5.gz to /var/log/testlog.6.gz (rotatecount 15, logstart 1, i 5),
old log /var/log/testlog.5.gz does not exist
renaming /var/log/testlog.4.gz to /var/log/testlog.5.gz (rotatecount 15, logstart 1, i 4),
old log /var/log/testlog.4.gz does not exist
renaming /var/log/testlog.3.gz to /var/log/testlog.4.gz (rotatecount 15, logstart 1, i 3),
old log /var/log/testlog.3.gz does not exist
renaming /var/log/testlog.2.gz to /var/log/testlog.3.gz (rotatecount 15, logstart 1, i 2),
old log /var/log/testlog.2.gz does not exist
renaming /var/log/testlog.1.gz to /var/log/testlog.2.gz (rotatecount 15, logstart 1, i 1),
renaming /var/log/testlog.0.gz to /var/log/testlog.1.gz (rotatecount 15, logstart 1, i 0),
old log /var/log/testlog.0.gz does not exist
log /var/log/testlog.16.gz doesn't exist -- won't try to dispose of it
renaming /var/log/testlog to /var/log/testlog.1
ls / var / log / testlog *의 출력 :
/var/log/testlog
/var/log/testlog.1
/var/log/testlog.2.gz
-
‘testlog’는 / var / log /에있는 로그 파일의 이름입니다. 다음과 같이 명령 줄에서 직접 ‘logrotate’를 호출합니다.
logrotate logrotate.conf [내 자신의 conf 파일, 내용은 위에 복사 됨]
누군가이 문제를 해결할 수있는 힌트를 제공해 주시겠습니까?
감사
답변
아직 생성되지 않은 가장 오래된 회전 로그 파일을 찾지 못하면 오류가보고됩니다. 이것이 버그 IMO입니다. 그것에 실패해서는 안됩니다.
따라서 발생하는 최대 회전 로그 수를 수집하면 (15) 오류 메시지가 사라집니다. 그 동안 메시지를 무시해도됩니다.
여기 에 버그 리포트가있는 것 같습니다 .
답변
실제로 변경 사항을 보려면 -v로 실행해야합니다.
-d, --debug
Turns on debug mode and implies -v. In debug mode, no changes will be made to the logs or to the logrotate
state file.