Syslog 순환에서 사용 가능한 아카이브 수 제한

Syslog 순환에서 사용 가능한 아카이브 수 제한

/etc/logrotate.d/rsyslog내 파일 에 대해 다음 구성이 있습니다 . 그 안에는 4로 회전할 일 수와 /var/log/syslog.

내가 알고 싶은 것은 아카이브가 100k에 도달하면 자체적으로 회전해야 한다는 것입니다. 필요한 경우 하루에 최대 4번까지 순환되나요? 지속적으로 100k에 도달하기 때문에 4번 회전해야 한다면 그렇게 하고 4개의 파일만 보관하게 될까요? 어쩌면 내 질문을 완전히 설명할 수는 없지만 내가 찾고 있는 목표는 회전된 아카이브 파일이 100k에 도달하면 자체적으로 회전해야 하며 총 회전 수가 4개 파일을 통과하지 않아야 하는 것입니다.따라서 한 시간 동안 8번의 순환이 필요한 경우 마지막 4개의 순환된 아카이브만 있어야 합니다.I do see a daily configuration, not sure if that is complemented with the rotate configuration?

최대 아카이브 파일 수를 설정해야 하는데 날짜 순환 구성이 이를 수행하지 않는 경우 어떻게 해야 합니까?

/var/log/syslog
{
        rotate 4
        size 100k
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
          invoke-rc.d rsyslog rotate >/dev/null
        endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/rsyslog.log
/var/log/debug
/var/log/messages
{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
          invoke-rc.d rsyslog rotate >/dev/null
        endscript
}

syslog configuration또한 syslog 파일 크기를 1MB로 제한하는 것도 있습니다 . 따라서 syslog가 1MB에 도달하면 자체적으로 회전해야 합니다(아직 테스트되지 않음).

auth,authpriv.*    -/var/log/auth.log
$outchannel mysyslog,/var/log/syslog,1048576
*.*;auth,authpriv.none  :omfile:$mysyslog

답변1

logrotate는 파일이 "크기 100k"에 도달하면 회전을 트리거하지 않습니다. 예약된 확인에 따라 작동합니다.

구성의 첫 번째 섹션이 어떻게 작동하는지 설명합니다. /var/log/syslog를 매일 확인하여 100k보다 크면 교체하고, 4개의 복사본이 있으면 가장 빠른 것을 제거합니다.

구성 파일에서 매일을 매시간으로 변경할 수 있습니다. 그런 다음 아직 없으면 cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate를 실행합니다.

관련 정보