+ Responder ao Tópico



  1. #1

    Padrão SARG Relatório Diário

    Pessoal, tenho o SARG instalado e funcionando perfeitamente, o problema é na hora de gerar relatórios diários, no caso, eu quero que todo INICIO de DIA seja gerado o relatório do dia ANTERIOR, então, pra isso eu tenho este script SARG.DAILY:

    ## INICIO
    #!/bin/bash

    #Pega data
    YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

    /usr/bin/sarg -f /usr/local/sarg/sarg.conf -d $YESTERDAY
    ##FIM

    Quando executo este script, ele processa e me diz:
    NÃO HÁ REGISTROS

    Mas há registros sim, tanto é, que quando eu executo apenas "sarg", ele gera os relatórios numa boa. Acho que o problema pode estar no SCRIPT, talvez o resultado da data que ele traz, não esta satisfazendo o SARG. Esquisito, em um outro servidor, rodando Conectiva 10, este mesmo script funciona, ja no Slackware 10.1 com a versão mais atual do SARG, da pau!

    Alguém tem ideia de um BOM script? Ou alguma outra solução?

    Abraço,

  2. #2

    Padrão SARG Relatório Diário

    cara, este erro eh pq nao tem nenhum registro do dia anterior, e por isso q da este erro.

    para gerar os graficos diarios no sarg eu faco de outra forma. Deixo rodando o sarg no crontab (sem opcao) e as 00:15 nas quartas e domigos eu compacto os arquivos de log do squid, zero os arquivos de log, e apagos logs e estatisticas com mais de 90 dias...

    assim vc gera uma lista por dia do squid sendo atualizada a cada 15 min.

    Faco isso pq se os arquivos de logs ficarem muito grandes tanto o sarg como o squid ficam lentos...

    meu scripte eassim:
    Código :
    #!/bin/bash
    # escrito por Fernando Dotta
      ## Gera variavel do dia
      dia=`date +%Y"-"%b"-"%d`
      base='/var/log/squid'
      wwwbase='/var/www/mrtg/squid-reports'
      ## Cria a pasta do dia e copia os arquivos
      nohup tar cvj $base/access.log* $base/cache.log* $base/store.log* -f $base/logbkp/log-$dia.tar.bz2 > /dev/null
     
      ## Apaga os arquivos antigos
       > $base/access.log
       > $base/cache.log
       > $base/store.log
       find $base/logbkp/ -atime +90 -exec /bin/rm -rf {} ';'
       find $wwwbase/ -atime +90 -exec /bin/rm -rf {} ';'
       find $wwwbase/ -empty -exec /bin/rm -rf {} ';' > /dev/null

    [] Dotta :twisted:

  3. #3
    wrochal
    Visitante

    Padrão SARG Relatório Diário

    Caro,

    Verifique a data do seu sistema date -u, e porque você não faz assim:

    Adicione a entrada no Crontab:

    00 0 * * * /usr/loca/sarg/bin/sarg -i log -o /dir/destino

    falou,

  4. #4

    Padrão SARG Relatório Diário

    Citação Postado originalmente por wrochal2002
    Caro,

    Verifique a data do seu sistema date -u, e porque você não faz assim:

    Adicione a entrada no Crontab:

    00 0 * * * /usr/loca/sarg/bin/sarg -i log -o /dir/destino

    falou,
    Wrochal, porque assim ele gerara o LOG desde a data que o squid foi startado... E eu quero somente do dia anterior...

    Muito estranho, aquele script funcionava perfeitamente... Vou lutar por aqui, qualquer ajuda é bem vinda...

    Valeu []´z

  5. #5
    wrochal
    Visitante

    Padrão SARG Relatório Diário

    Caro,

    Outra solução é log rotate, abaixo coloquei para gerar um log a cada dia da semana de Domingo até Sabado:

    logfile_rotate 7

    Ai no crontab você coloque a seguinte opção

    00 23 * * * squid -k rotate
    30 23 * * * sarg -i access.log.1

    Falou,