Estoy usando la siguiente configuración para archivar y eliminar registros:
/path/to/logs/*.log {
daily
missingok
compress
rotate 4
nodateext
nocreate
maxage 14
}
La ubicación de mis registros tiene registros que se ven así:
-rwxrwxrwx 1 nobody nobody 21635 Sep 26 13:09 audit-2016.09.26.log
Que luego se rotan y comprimen para verse así:
-rwxrwxrwx 1 nobody nobody 180485 Sep 10 03:41 audit-2016.09.26.log.1.gz
El problema que tengo es que, después de archivarlos todas las noches, los registros no se eliminan después de 14 días (como debería hacer la directiva maxage).
¿Alguien tiene alguna idea de por qué sucede eso o qué debo cambiar en mi configuración de logrotate?
¡Gracias!
Respuesta1
Desde la página de manual de logrotate:
recuento máximo
Elimine los registros rotados que tengan más de días.La edad sólo se comprueba si se va a rotar el archivo de registro.
audit-2016.09.26.log
Sólo fue creado una vez y nunca más. Por lo que nunca más se rotará.
En realidad, sus archivos de registro de auditoríaya estan rotados. Parece que sólo deseas comprimirlos y eliminar archivos antiguos. No sé si esto es posible con logrotate. Puede agregar un script de postrotación a su regla original, como:
postrotate
find /path/to/logs -name "*.log.1.gz" -mtime +14 -delete
endscript