Limitar el número de archivos disponibles en la rotación de syslog

Limitar el número de archivos disponibles en la rotación de syslog

Tengo la siguiente configuración para mi /etc/logrotate.d/rsyslogarchivo. En él, declaré explícitamente la cantidad de días que rotará en 4 y el tamaño del archivo de rotación en 100k para /var/log/syslog.

Lo que quiero saber es que cuando el archivo alcance los 100k debería rotar solo. ¿Rota hasta 4 veces en total en un día si es necesario? Si necesita rotar 4 veces porque alcanza continuamente 100k, ¿lo hará y solo contendrá 4 archivos? Tal vez no pueda explicar completamente mi pregunta, pero el objetivo que estoy buscando es que una vez que el archivo rotado alcance los 100k, debería rotar solo y el número total de rotaciones no debería pasar de 4 archivos.Entonces, si necesita 8 rotaciones en un lapso de horas, solo deberían estar los últimos 4 archivos rotados.I do see a daily configuration, not sure if that is complemented with the rotate configuration?

Si necesito establecer una cantidad máxima de archivos comprimidos y la configuración de rotación diaria no lo hace, ¿qué debo hacer?

/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
}

También tengo esto syslog configurationque limita el tamaño del archivo syslog a 1 MB. Entonces, cuando syslog alcanzó 1 MB, debería girar solo (aún no probado)

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

Respuesta1

logrotate no activará una rotación cuando un archivo alcance el "tamaño 100k". Funciona mediante comprobaciones programadas.

Explicando cómo funcionaría la primera sección de su configuración. Realice una verificación diaria de /var/log/syslog, si tiene más de 100k, gírelo, si hay 4 copias, elimine la primera.

Puede cambiar de diario a cada hora en el archivo de configuración. Luego, cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate si aún no está allí.

información relacionada