sexta-feira, novembro 21, 2008

SARG - Script gera relatorio semanal

Salve galera, tudo bom?

Resolvi fazer alguns estudos e gerar uma solução, para gerar relatorios de acesso internet do Dansguardian/Squid semanais.
Acredito que esta solução já tenha no proprio SARG, mas resolvi escrever algo, e foi muito bom, pois aprendi/relembrei mais sobre C-Shell, Crontab, SARG.

Bom, o script faz o seguinte:
Pega a data atual, e diminui 6 dias, para gerar o intervalo de 7 dias que vai na linha de comando do SARG, informando o intervalo de tempo que o relatorio deve ser gerado.

Agendei o script para rodar todo domingo, que vai pegar da segunda-feira anterior até o domingo.

Segue abaixo o script:
#!/bin/csh
# Script para gerador linha de comando para rodar o SARG,

# para 1 semana de acessos
# Data: 21/11/2008
# Por: Reginaldo Filippus


# Variaveis - linha 1: seta dia

# - linha 3: subtrai 7 de dia, uma semana
set DIA = `date +%d`

set SUB = 6
@ soma = $DIA - $SUB

# Verifica se a data eh menor que 0, caso sim, seta 1
if ($soma <>
set soma = 1
endif


# Variaveis com Datas
set DATAI = `date +%m/%Y`
set DATAF = `date +%d/%m/%Y`

set DATA_PERIODO = $soma/$DATAI-$DATAF


# Monta linha de comando com as datas
sarg -f /usr/local/etc/sarg/sarg.conf -d $DATA_PERIODO


Ai vai a linha no Crontab, para o agendamento.
# SARG - roda script para rodar o SARG - gera relatorio de acesso internet
# 1 vez por semana, nos domingos

30 12 * * 0 root /usr/local/etc/sarg/scripts/gera_relatorio_semanal



Concerteza esse script deve ser aprimorado, mas irei rever ele mais para frente, pois tem um storage aguardando para ser configurado, utilizando o FreeNAS.

Agradecimentos:
Aos usuarios do #freebsd-br : rbgarga, TheLunatic e root

Link de pesquisas:
http://en.wikipedia.org/wiki/Date_(Unix)
http://www.devin.com.br/sarg/
http://www.devin.com.br/crontab/

TAG : c-shell, script, freebsd, unix, sarg, crontab, agendamento, relatorio acesso internet,

Nenhum comentário: