리눅스 컴퓨터에 로그 메일 설정했더니 아래와 같은 메시지가 날아온다면...

/etc/cron.daily/logrotate:
gzip: stdin: file size changed while zipping

요기를 참조해서 logrotate 설정에 delaycompress 옵션을 넣어둡시다.

(링크한 글에 안내된 절차, 아래 설명 및 경로는 데비안/우분투 기준)

  1. /var/lib/logrotate/status 파일을 열어서, 위 그림과 같은 메시지가 날아온 로그 발신자를 추적합니다. 내 경우는 apache2, sambad, rspamd.
  2. /etc/logrotate.d/에 있는 설정 중 위에서 찾은 발신자의 설정을 열어봅니다.
  3. 이 중 compress만 있고 delaycompress가 없는 설정 그룹을 찾아 delaycompress를 넣어줍니다. 끝.

delaycompress를 넣어주면 로그 파일을 먼저 보관 처리한 후에 압축을 진행하나 봅니다. 아래 설명에 따르면 보관 처리 중인 파일임에도 거기다 계속 쓰려는 대몬이 있다네요.

Postpone compression of the previous log file to the next rotation cycle. This only has effect when used in combination with compress. It can be used when some program cannot be told to close its logfile and thus might continue writing to the previous log file for some time.

반응형

+ Recent posts