Mostrarei como fazer um rodízio dos arquivos de log do Squid que crescem enormemente ao final de todo o mês, colocando-os na crontab para fazer esse trabalhinho sujo. : D
O arquivo de log do Squid (access.log) cresce enormemente devido aos acessos externos. O próprio Squid tem sistema de rotacionamento dos logs através do comando "squid -k rotate". Com esse comando, os arquivos vão ficando no seguinte formato:
access.log.0
access.log.1
etc
A idéia é fazer um rotacionamento ao final de todo o mês, criando um arquivo de log com o mês e gerar um relatório mensal utilizando o SARG.
Porque fazer isso? Assim tiramos um relatório com o acesso de todo o mês e geramos um arquivo com os acessos daquele mês. Caso seja necessário um relatório de todo o mês, basta apenas juntar os logs e gerar.
Crontab
Devemos inserir as datas e o script na crontab para realizar a tarefa. Segue abaixo o conteúdo da crontab:
Assim fica mais tranquilo para o SARG trabalhar também e os teus logs mais organizados. : )
Conclusão
Cuidar dos logs sempre é triste. Os scripts vão surgindo conforme a necessidade de administração do servidor.
Esta foi uma alternativa que achei mais interessante para o meu caso. Caso tentam sugestões de melhoria ou outras alternativas para solucionar este caso, todas serão bem vindas.
[2] Comentário enviado por removido em 14/07/2008 - 10:03h
Lembrando que o Squid não consegue gerenciar mais do q 2GB de log (em um unico arquivo de log). Se ele atingir os 2GB, o daemon do Squid simplesmente para e não consegue mais subir. Portanto, vale a pena fazer um levantamento antes pra ver se o log vai atingir esse tamanho antes do final de cada mês.
No mais, ótima dica.
[5] Comentário enviado por pelo em 19/12/2013 - 19:14h
David,
Pode ser que o erro nem seja dessa linha, mas sim da próxima.
Talvez teu executável ou conf não estão nos caminhos que coloquei no script sendo necessário ajuste.
Pode executar o script com um debug ativado trocando adicionando um -x na primeira linha:
Antes
#!/bin/bash
Depois
#!/bin/bash -x
Assim ele vai mostrando tudo que está sendo executado.
Outra coisa, há aluns parâmetros novos nos confs para habilitar que o squid faz o rotate (sem colocar meses é claro).
Procure no squid.conf por "logfile_rotate"
Nele você diz quantos arquivos de log ele deve ter.
[6] Comentário enviado por david.blu em 20/12/2013 - 09:54h
Bom dia Sérgio Abrantes Junior, obrigado pela resposta.
Este foi o debug. Vou dar uma verificada no Squid. Verifiquei dentro do Squid e "logfile_rotate" não tem.
+ data='date +%m'
+ ano='date +%Y'
+ '[' date +%m == 01 ']'
/etc/rc.d/init.d/squid_rotate: line 5: [: número excessivo de argumentos
+ '[' date +%m == 02 ']'
/etc/rc.d/init.d/squid_rotate: line 14: [: número excessivo de argumentos
+ '[' date +%m == 03 ']'
/etc/rc.d/init.d/squid_rotate: line 23: [: número excessivo de argumentos
+ '[' date +%m == 04 ']'
/etc/rc.d/init.d/squid_rotate: line 32: [: número excessivo de argumentos
+ '[' date +%m == 05 ']'
/etc/rc.d/init.d/squid_rotate: line 41: [: número excessivo de argumentos
+ '[' date +%m == 06 ']'
/etc/rc.d/init.d/squid_rotate: line 50: [: número excessivo de argumentos
+ '[' date +%m == 07 ']'
/etc/rc.d/init.d/squid_rotate: line 59: [: número excessivo de argumentos
+ '[' date +%m == 08 ']'
/etc/rc.d/init.d/squid_rotate: line 68: [: número excessivo de argumentos
+ '[' date +%m == 09 ']'
/etc/rc.d/init.d/squid_rotate: line 77: [: número excessivo de argumentos
+ '[' date +%m == 10 ']'
/etc/rc.d/init.d/squid_rotate: line 86: [: número excessivo de argumentos
+ '[' date +%m == 11 ']'
/etc/rc.d/init.d/squid_rotate: line 95: [: número excessivo de argumentos
+ '[' date +%m == 12 ']'
/etc/rc.d/init.d/squid_rotate: line 104: [: número excessivo de argumentos
[7] Comentário enviado por pelo em 20/12/2013 - 10:24h
David,
Executei uma parte do script pra testar a data e deu certo:
#!/bin/bash
data=`date +%m`
if [ $data == "12" ] ;then
echo "dezembro"
fi
Mostrou dezembro como mensagem ao executar.
Faça esse teste também.
Qual distribuição está esse squid e qual versão?
Envia o squid.conf pro meu e-mail pra eu ver sergioabrantes@gmail.com
Até