일일 로그 순환 - 원본 유지

일일 로그 순환 - 원본 유지

저는 greylog 서버를 호스팅하는 Ubuntu 14.04에서 작업하고 있습니다. /var/log/upstart/ 디렉토리에는 들어오는 모든 메시지에 대한 일반 텍스트 로그가 있습니다. 이는 3GB마다 회전하도록 설정되어 있습니다. 그러나 이전에 겪었던 문제는 회전할 때마다 "graylog-server.log"의 이름이 "graylog-server.log.1"로 바뀌는 것인데 마음에 들지 않습니다. 구성에 "복사" 키워드를 추가했는데 이제 파일 이름이 좋습니다! 하지만 로그 파일에 모든 메시지도 남습니다. 메시지가 압축된 후 제거하고 싶습니다. 그래서 내 질문은 ...

  • 이 작업을 수행하는 데 도움이 되는 config 키워드가 있습니까? 나는 그것들을 보았지만 로그 회전을 처음 접했기 때문에 내가 놓친 것이 있을 수도 있습니다.
  • 실패했습니다. 로그 파일이 회전된 직후에 비우도록 예약할 수 있는 방법이 있습니까? 몇 개의 메시지를 보낼 수도 있지만 그건 별로 걱정하지 않습니다.

감사해요!

구성:

/var/log/upstart/*server.* {
        size 3G
        missingok
        rotate 5
        compress
        notifempty
        nocreate
        copy
}

답변1

일반적으로 최근 회전된 로그 파일( file.1)은 압축되지 않은 상태로 유지되며 다음 회전( file.1-> file.2.gz)에서 압축됩니다.

회전된 로그 파일을 즉시 압축하려면 다음을 추가할 수 있습니다.

nodelaycompress

옵션.

에서man logrotate:

노드레이압축
이전 로그 파일의 압축을 다음 순환 주기로 연기하지 마십시오.지연압축옵션).

관련 정보