logrotate가 로그를 회전 할 수 없으며 "No such file error"가 발생 함


11

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 파일, 내용은 위에 복사 됨]

누군가이 문제를 해결할 수있는 힌트를 제공해 주시겠습니까?

감사

답변:


5

아직 생성되지 않은 가장 오래된 회전 로그 파일을 찾지 못하면 오류가보고됩니다. 이것이 버그 IMO입니다. 그것에 실패해서는 안됩니다.

따라서 발생하는 최대 회전 로그 수를 수집하면 (15) 오류 메시지가 사라집니다. 그 동안 메시지를 무시해도됩니다.

여기 에 버그 리포트가있는 것 같습니다 .


2
나는 여전히 문제가 있습니다 : logrotate 3.7.8우분투 이상
fguillen

6

실제로 변경 사항을 보려면 -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.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.