Tengo la siguiente configuración para mi /etc/logrotate.d/rsyslog
archivo. 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 configuration
que 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í.