
logrotate는 내 로그를 회전할 수 없습니다. 파일 권한을 확인했는데 괜찮습니다.
구성 파일에 "su root root"를 넣어 시도해 보았지만 여전히 같은 문제에 직면해 있습니다.
아래에서 관련 세부정보를 찾아보세요.
logrotate.conf 파일:
/var/log/testlog {
compress
delaycompress
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
누군가 이 문제를 해결하기 위한 힌트를 제공해 주실 수 있나요?
감사해요
답변1
나는 여기서 절름발이로 나가지만 맨 페이지에는 다음과 같이 나와 있습니다.
-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.
따라서 logrotate는 아무 것도 하지 않습니다. 그것은 단지 그것이 무엇인지 기록합니다.~일 것이다하다. 자세한 출력을 원할 경우 옵션으로 -d가 아닌 -v를 제공하십시오.
편집하다:logrotate가 다음과 같은 메시지를 출력한다는 사실
log /var/log/testlog.16.gz doesn't exist -- won't try to dispose of it
걱정할 것이 없습니다. 실제로 이는 예상된 동작입니다! 자세한 출력은 수행 중인 작업을 정확하게 보여줍니다. 존재하지 않는 가장 오래된 파일 testlog.15.gz부터 시작하여 버전 번호를 증가시키려고 합니다.아직. 15회전이 수행되면 완료됩니다. 오류가 아닙니다. 마침내 testlog.1.gz까지 계속됩니다.하다존재하며 testlog.2.gz로 이름이 변경되었습니다.
당신이 지정했기 때문에
start 1
testlog.0.gz는 다시 없지만 그럼에도 불구하고 testlog는 testlog.1로 이동됩니다(delaycompress로 인해 압축하지 않음).
결국 16번째 로그 파일을 폐기하려고 시도합니다.
rotate 15
주어졌다. 파일이 없습니다(다시 말하지만:아직) 그러나 이는 귀하나 프로그램에 중요하지 않습니다. 디렉토리 목록은 그것이 내가 들은 것과 정확하게 일치했음을 보여줍니다. 로그가 반복적으로 순환되면 "누락된" 파일이 표시되고 메시지는 사라집니다.
결국 프로그램을 verbose 모드에서 실행하고 있으므로 이와 같은 출력을 예상해야 합니다.