Comprimindo os Logs do JBOSS sem logrotate

Administro alguns servidores JBOSS que realizam o rotacionamento de logs sozinhos, porém eles não fazem a compressão dos arquivos de log. Como o próprio JBOSS cuida do rotacionamento, não encontrei um método de fazer o tratamento através do logrotate, como é feito normalmente. Ao invés disso, optei simplesmente por comprimir os arquivos.

Crie um arquivo com um nome sugestivo (ex: comprime_logs_jboss) dentro do diretório "/etc/cron.daily" com o seguinte conteúdo:


#!/bin/bash
#Fabiano Pires
#Caminho com os arquivos de log do JBOSS
CAMINHO="/opt/jboss-GA/server/default/log"

# Comprime arquivos server.log.*, exceto os que possuem a extensao ".gz"
find ${CAMINHO} \( -name 'server.log.*' -a -not -name '*.gz' \) | xargs gzip -9

Esse comando find enconrtra todos os arquivos server.log rotacionados (os meus ficam no padrão server.log.ANO-MES-DIA (ex: server.log.2011-11-29), exceto os que possuem a extensão ".gz" (que já foram comprimidos) e os envia para compressão com o comando gzip.

Ajuste a variável CAMINHO para apontar para o local onde ficam os arquivos de log do seu JBOSS. E não se esqueça de tornar o arquivo executável, com o comando chmod a+x comprime_logs_jboss.

Nenhum comentário: