Compactar logs [RESOLVIDO]

1. Compactar logs [RESOLVIDO]

Bruno Bonfim
brunorb86

(usa CentOS)

Enviado em 27/10/2010 - 11:53h

Bom dia srs. tenho os seguintes arquivos em uma pasta:

-rw-r--r-- 1 aapg infra 5597957 Sep 21 14:42 aapg_hibernate.log
-rw-r--r-- 1 aapg infra 1649846 Sep 21 14:36 aapg_hibernate.log.1.gz
-rw-r--r-- 1 aapg infra 1651281 Sep 21 14:42 aapg.log
-rw-r--r-- 1 aapg infra 2256708 Sep 21 14:20 aapg.log.1.gz
-rw-r--r-- 1 aapg infra 61830 Oct 25 21:17 boot.log
-rw-r--r-- 1 aapg aapg 63254733 Oct 27 11:49 server.log
-rw-r--r-- 1 aapg aapg 16807094 Oct 26 23:59 server.log.2010-10-26.gz

A compactação está sendo feita na mão, todo dia é criado um arquivo server.log.2010-XX-XX
Eu queria saber um comando efetivo para usar para compactar apenas o novo arquivo criado, para eu colocar na rotina da cron e poder utilizar o logrotate.

Ex. se eu usar o comando gzip -9 server.log.*
Ele não compacta o arquivo server.log(OK), compacta o novo arquivo server.log.2010-XX-XX(OK), porém ele também compacta de novo o arquivo antigo dos outros dias que já estava nas pasta,
ex: server.log.2010-10-26.gz.gz(não OK)

Vocês sabem me informar um comando para eu utilizar nessa situação.

Grato.


  


2. MELHOR RESPOSTA

Joao
stack_of

(usa Slackware)

Enviado em 01/02/2012 - 18:26h

Desnecessário criar script para compactar arquivos, o logrotate faz isso. Descomente a opção compress no arquivo /etc/logrotate.conf.
Se quiser apor a data como sufixo, descomente dateext também.

3. Compactar logs Mensais

Priscilla Pedde
debianwoman

(usa Red Hat)

Enviado em 01/02/2012 - 17:51h

tar -czf server.log.ANO.MES.DIA.tar.gz ele irá ficar vermelho compactado e empacotado.


4. Re: Compactar logs [RESOLVIDO]

Priscilla Pedde
debianwoman

(usa Red Hat)

Enviado em 01/02/2012 - 17:52h

esqueci de dizer que vc tem que colocar o comando tar -czf nomedoarquivo_destino noemdoarquivo_origem


5. date

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 01/02/2012 - 18:06h

Boa tarde Bruno,

Assumindo que o arquivo será compactado no mesmo dia da criação:

$ gzip -9 server.log.`date --rfc-3339=date`


Abraço!


6. logrotate

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 01/02/2012 - 19:06h

Bruno,

Siga a dica do Joao, se o logrotate faz isso, não perca tempo. ;-)

Não se esqueça de marcar o tópico como resolvido e escolher a resposta dele como melhor resposta, se for o caso.

Abraço!


7. Re: Compactar logs [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 02/02/2012 - 01:13h

Sem dúvida que o logrotate pode ajudar mto.
Mas caso vc queira criar o seu próprio script para rotacionar os logs pode ser uma boa idéia. Certa vez me pediram para fazer um script que rotacionasse logs de mais de 70 aplicações em mais de 100 servidores. Após várias conversas, chegamos a conclusão que o logrotate atenderia as questões, mas para certos casos o mesmo não chegaria ao objetivo..aí da-lhe eu fazendo um mega script de quase 2 mil linhas do qual fosse possível administrar todos os logs de todos s servidores. Foi um desenvolvimento de uns 4 meses, até o script atender todas as funções necessárias.
No final, o script ficou responsável por: receber 2 parâmetros e utilizar um arquivo do qual contém todos os caminhos de todas as aplicações do qual devem rotacionar; remoção de logs não utilizados após determinado tempo; pastas de datas foram criadas; somente arquivos que não estão "presos" a um PID podem ser movidos (comandos lsof, fuser); tratamento de erro para cada comando executado (essa foi a parte mais complicada), geração de mensagens para todos os tipos de erros possíveis (outra parte que deu dor de cabeça, por exemplo: "Os logs XPTO foram movidos para a pasta XYZ", "não foram encontrados logs na pasta ZXC", "a pasta WAR não possui permissão para o usuário TUX", "Os logs tal tal tal acima de XX dias foram removidos, etc). O mesmo foi inserido no Control-M do qual possui uma malha batch com mais de 400 JOBS distribuídos sequencialmente e paralelamente.
Em fim, se vc quiser quebrar a cabeça e tentar fazer algo específico para sua empresa, tb aconselho a botar a mão na massa e mandar a ver na telinha preta!
Boa sorte!


8. Re: Compactar logs [RESOLVIDO]

Bruno Bonfim
brunorb86

(usa CentOS)

Enviado em 02/02/2012 - 09:10h

Valeu pelas dicas galera.

Já consegui rotacionar pelo logrotate mesmo.

Abraço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts