크기별로 로그 로테이션-cron을 변경해야합니까?


10

현재 logrotate 구성은 다음과 같습니다 (logrotate 3.8.7 사용)

"/var/log/haproxy.log" {
  daily
  size 250M
  rotate 1
  create 644 root root
  missingok
  compress
  notifempty
  copytruncate
}

하루에 한 번 성공적으로 실행되지만 크기가 250M을 초과하면 회전하지 않습니다. 따라서 크기에 관계없이 하루가 끝날 때까지 기다립니다.

나는 거기 MAXSIZE 옵션이며, 변경 후 읽었습니다 size 250Mmaxsize 250M그것은 여전히 작동하지 않습니다.

매시간마다 logrotate를 실행하도록 cron을 설정해야합니까, 아니면 해당 파일 크기를 수신하고 있기 때문에 logrotate가 자동으로 실행되며 다른 문제가 있습니까?

답변:


7

예, logrotate이를 달성하려면 하루에 두 번 이상 실행해야합니다 . 이것은 맨 페이지 logrotate(8) 의 초 단락에 답변되어 있습니다 .

일반적으로 logrotate매일 cron 작업으로 실행됩니다. 해당 로그의 기준이 로그의 크기를 기준으로하고 logrotate매일 여러 번 실행되지 않는 한 -f또는 또는 --force옵션을 사용 하지 않는 한 하루에 여러 번 로그를 수정하지 않습니다 .

logrotate매일 대신 매시간 달리기를 원한다면 이동할 수 있습니다.

mv /etc/cron.daily/logrotate /etc/cron.hourly

3.8.1부터 maxsize. 와의 차이점은 다음 sizemaxsize같습니다.

maxsize 크기

그들은 크기도 추가로 지정된 시간 간격 전에 (바이트보다 더 큰 성장을 할 때 로그 파일 회전 daily, weekly, monthly, 또는 yearly)을. 관련 size옵션은 시간 간격 옵션과 상호 배타적이라는 점을 제외하고 비슷하며 마지막 회전 시간에 관계없이 로그 파일을 회전시킵니다. 때 maxsize사용, 크기 및 로그 파일의 타임 스탬프를 모두 고려된다.

이것은 size간격없이 그리고 maxsize간격이 필요한 경우 모두 사용에 적합 합니다. 그러나 기본적으로 logrotate매일 실행 된다는 사실은 변경되지 않습니다 . 이 간격은 대부분의 경우에 적합합니다. 대부분의 경우 로그가 커지는 데 하루보다 훨씬 오래 걸립니다 250M.


1
참고로 8.1부터 시작하는 maxsize 지시문이 있습니다 : hpux.connect.org.uk/hpux/Sysadmin/logrotate-3.8.7/…
Hommer Smith

주목 해 주셔서 감사합니다. @HommerSmith 매뉴얼의 고대 버전을 읽었습니다! 이에 따라 답변을 수정했습니다.
Esa Jokinen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.