Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

981
Visualizações
logrotate: eliminar registros de tomcat/jboss anteriores a n días

No he encontrado una solución para purgar registros antiguos de tomcat o jboss o cualquier otro registro con marca de tiempo: catalog.log. /servidor.log. . Básicamente, jboss rota estos registros como: server.log, server.log.20131201, server.log.20131203 y así sucesivamente.

¿Hay alguna manera de que pueda usar logrotate para eliminar registros de más de n días? No quiero usar find inside postrotate o modificar las propiedades de registro de jboss/tomcat. Solo quiero saber si logrotate realmente puede lograr esto por sí solo. Sé que no es muy productivo, pero tengo un problema en el que necesito una respuesta.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si no quieres usar find inside postrotate , no, no puedes.

logrotate trata cada instancia de server.log rotada por Tomcat/JBoss como un archivo diferente y, dado que son únicas, logrotate las rotará solo una vez. maxage , la directiva que elimina los registros rotados con más de n días de antigüedad, solo se verifica si el archivo de registro debe rotarse, por lo que maxage solo se ejecuta una vez y no puede realizar un seguimiento de la antigüedad del archivo.

Sin embargo, si cambia de opinión sobre el uso de find , logrotate puede ayudarlo a simplificar la administración de los archivos de registro creados por Tomcat y JBoss. Lo uso para comprimir y eliminar archivos antiguos con un archivo de configuración como este:

 /path/to/logs/server.log.????-??-?? { compress compresscmd /usr/bin/bzip2 nocreate nodateext ifempty missingok rotate 1 size 0 start 0 lastaction # Remove rotated files older than 180 days find /path/to/logs -name 'server.log.????-??-??.0.bz2' -mtime +180 -exec rm {} \; endscript }

donde:

  • rotate 1 y compress renombrar y comprimir, digamos, server.log.20131201 a server.log.20131201.0.bz2 . El 0 entre la marca de tiempo y la extensión .bz2 proviene del start 0 .
  • size 0 se asegura de que los archivos siempre se renombran y comprimen.
  • El bloque lastaction elimina los archivos rotados con más de 180 días.
over 4 years ago · Santiago Trujillo Relatório

0

logrotate puede administrar sus registros girándolos y eventualmente manteniendo un número limitado de registros rotados. Pero AFAIK solo puede hacerlo para los registros que administra directamente. Si sus registros ya fueron rotados por algún otro agente (es decir, el mismo Tomcat), logrotate no puede hacer nada, simplemente porque no sabe nada sobre la rotación realizada por otra persona.

Entonces, la respuesta es no, no puede usar logrotate para eliminar registros que no administra por sí mismo (y creo que ni siquiera tiene la intención de hacer algo así).

over 4 years ago · Santiago Trujillo Relatório

0

Puede poner el script en /etc/cron.daily. Por ejemplo:

gato /etc/cron.daily/tomcat-rotate-logs

 #!/bin/sh # erasing tomcat logs older then 7 days for x in $(find /var/log/tomcat/ -type f -mtime +7); do rm "$x"; logger -t TOMCAT-ROTATE-LOGS "Erasing $x [done]"; done

o crea una configuración logrotate. Por ejemplo: gato /etc/logrotate.d/tomcat

 /var/log/tomcat/*.log { su tomcat tomcat copytruncate daily rotate 6 compress missingok }

"su tomcat tomcat": significa evitar el error logrotate en permisos incorrectos

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda