다음 설정을 사용하여 로그를 보관하고 삭제합니다.
/path/to/logs/*.log {
daily
missingok
compress
rotate 4
nodateext
nocreate
maxage 14
}
내 로그 위치의 로그는 다음과 같습니다.
-rwxrwxrwx 1 nobody nobody 21635 Sep 26 13:09 audit-2016.09.26.log
그런 다음 다음과 같이 회전하고 압축합니다.
-rwxrwxrwx 1 nobody nobody 180485 Sep 10 03:41 audit-2016.09.26.log.1.gz
내가 겪고 있는 문제는 매일 밤 로그를 보관한 후 14일 후에도 로그가 삭제되지 않는다는 것입니다(maxage 지시어에서 예상하는 대로).
왜 이런 일이 발생하는지 또는 logrotate 구성에서 무엇을 변경해야 하는지 아는 사람이 있습니까?
감사해요!
답변1
logrotate 매뉴얼 페이지에서:
가장 큰 금액
며칠이 지난 순환 로그를 삭제합니다.로그 파일을 회전할 때만 연령을 확인합니다.
audit-2016.09.26.log
단 한 번만 생성되고 다시는 생성되지 않습니다. 그래서 다시는 회전하지 않습니다.
실제로는 감사 로그 파일입니다이미 회전됨. 압축을 풀고 오래된 파일을 삭제하려는 것 같습니다. logrotate가 이것을 달성할 수 있는지는 모르겠습니다. 예를 들어 원래 규칙에 사후 회전 스크립트를 추가할 수 있습니다.
postrotate
find /path/to/logs -name "*.log.1.gz" -mtime +14 -delete
endscript