Tengo un servidor Tomcat que crea registros de acceso a través de una válvula ( org.apache.catalina.valves.FastCommonAccessLogValve ). Esta válvula se encarga de rotar el archivo de registro de acceso, pero no de comprimirlos o eliminarlos después de un tiempo.
Por el momento, tengo un trabajo cron que se usa find [...] -mtime +30 [...]
para comprimir y eliminar los registros. Prefiero usar logrotate, para que la rotación de registros esté en un lugar centralizado para todos los registros. No me gusta tener una solución separada solo para Tomcat.
Traté de leer la documentación de logrotate, pero todavía estoy un poco perdido. ¿Puedo usar logrotate solo para comprimir y limpiar archivos de registro? Como podría hacerlo ?
O para resolver el problema, ¿hay una válvula de registro de acceso de Tomcat que comprima y limpie los archivos de registro?
Gracias por tu ayuda !
Respuestas:
Uno bastante simple que he visto funciona así.
Cree un archivo en /etc/logrotate.d llamado tomcat que contenga lo siguiente: -
Esto se ejecuta a diario , comprime el archivo y mantiene el valor de 7 días ( rotar 7 ). copytruncate significa que copiará y truncará el archivo original para que no sea necesario reiniciar tomcat. faltar ok no producirá errores si no está allí.
La válvula access.log se puede cambiar para que no gire agregando rotatable = false: -
fuente
Secuencia de comandos de TimP modificada: se agregaron eliminando archivos muy antiguos, se agregó análisis para archivos comprimidos antiguos.
fuente
No deseaba cambiar la configuración de Tomcat, así que creé un script que comprimía los archivos rotados
fuente
Es sorprendentemente simple. Solo dígale a logrotate qué archivos desea rotar específicamente.
nocreate
le dice a logrotate que no vuelva a crear un archivo vacío después de mover el antiguo (si está rotando archivos en una subcarpeta).fuente
Para la compresión local_access_log.YYYY-MM-DD.txt escribí este script después de ver esta publicación: -
fuente
Una solución simple proporcionada aquí. Esto también incluye la opción de carga s3.
https://yottabrain.org/tomcat/tomcat-log-backup/
fuente