Dividir um arquivo de log apache grande no último dia

4

Eu tenho um arquivo de log de 3 GB, preciso extrair as últimas 48 horas sem baixar o arquivo inteiro de 3 GB. Como posso dividir o arquivo nas últimas 48 horas? Então, só posso baixar esse arquivo único?

Tenho acesso total ao SSH e consigo instalar ferramentas adicionais.

    
por Tom 29.09.2011 / 16:49

2 respostas

9

Supondo que você tenha acesso ao servidor com o arquivo de log, tente

egrep '2[789]/Sep/2011' logfile.big > /tmp/logfile.small

Isso vai voltar para o começo do dia 27, que é um pouco mais de 48 horas, mas eu esperaria que fosse muito menor que o arquivo inteiro, e é rápido de fazer. Não se esqueça de compactar o arquivo resultante antes de transferi-lo, o que acelerará ainda mais as coisas.

    
por 29.09.2011 / 16:59
2

Você pode fazer uso do analisador de log do Apache - Analógico . Ele funciona rapidamente porque escrito em C. Analog permite especificar os intervalos de tempo com as opções de linha de comando + F e + T, que representam logicamente 'FROM' e 'TO'.

    
por 29.09.2011 / 17:42