Script Squid Para Gerar Relatorios Semanal e Mensal. [RESOLVIDO]

1. Script Squid Para Gerar Relatorios Semanal e Mensal. [RESOLVIDO]

Jorge Augusto Rabello Pinto
jorgerabello

(usa Ubuntu)

Enviado em 06/02/2010 - 16:31h

Senhores, boa tarde !
Possuo um servidor proxy/firewall no qual coleto os logs de acesso a web e acesso os logs pelo sarg.
Hoje possuo a seguinte estrutura:

O Sarg possui 03 sripts sarg.conf:

sarg.diario.conf > este gera os arquivos diarios
sarg.semanal.conf > este gera os arquivos da semana inteira passada
sarg.mensal.conf > este gera os arquivos do mes passado todo.


Tambem possuo 03 scripts que agendei no cron para automatizar o processo de gerar os logs no sarg

sargdia.sh
sargsemana.sh
sargmes.sh

Segue o sargdia.sh (que alias aprendi aqui no VOL)

YESTERDAY=$(date --date "0 day ago" +%d/%m/%Y)

sarg -f /etc/squid/sargdia.conf -d $YESTERDAY-$YESTERDAY

----------------------------------------------

Tentei fazer o mesmo com o script para gerar a semana assim

YESTERDAY=$(date --date "7 day ago" +%d/%m/%Y)

sarg -f /etc/squid/sarg.daily.conf -d $YESTERDAY-$YESTERDAY

------------------------------------------------

Mas assim não funciona por que o retorno das variaveis $YESTERDAY-$YESTERDAY é o diaatual-diaatual exemplo se hoje for 30/12/2004 ele retorna 30/12/2004-30/12/2004 e ele teria de retornar 23/12/2007-30/12/2004.
Assim como o mensal deve retornar 01/12/2004-30/12/2004.

Alguém poderia me dizer onde encontro estas respostas ou como faço isso funcionar, por favor ?!

Pois procurei aqui no VOL, na págian do Sarg e no Google e não encontrei respotas....

Agradeço desde já !


  


2. Re: Script Squid Para Gerar Relatorios Semanal e Mensal. [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 07/02/2010 - 15:52h

É claro q não irá funcionar. Por mais q vc aumente o nº d dias lá, se vc coloca a msm variável, ele vai pegar o msm dia daquele dia q o script pegou. Vc deve criar outra variável com o dia d hj, dessa forma:

YESTERDAY=$(date --date "0 day ago" +%d/%m/%Y)
LASTWEEK=$(date --date "7 day ago" +%d/%m/%Y)
sarg -f /etc/squid/sarg.weekly.conf -d $LASTWEEK-$YESTERDAY


3. Resovemos !!!

Jorge Augusto Rabello Pinto
jorgerabello

(usa Ubuntu)

Enviado em 06/03/2010 - 08:26h

Opa fala Renato, cara desculpa a demora pra responder mas há muito resolvi o problema e estou postando aqui pra fins informativos:

Criei tres scripts um pra cada ação:

Daiy.sh (Gera o Realatório Diário)
YESTERDAY=$(date --date "0 day ago" +%d/%m/%Y)
sarg -d $YESTERDAY-$YESTERDAY -o /var/www/squid-reports/Daily

-----------------------------------------------------------------

Weekly (Gera o Relatório Semanal)
#INICIO
#!/bin/bash

Hoje=$(date +%d/%m/%Y)
Semana=$(date --date "1 week ago" +%d/%m/%Y)
sarg -d $Hoje-$Semana -o /var/www/squid-reports/Weekly
##FIM

-----------------------------------------------------------------

Monthly (Gera o Raltorio Mensal)
#INICIO
#!/bin/bash

Hoje=$(date +%d/%m/%Y)
Mes=$(date --date "1 month ago" +%d/%m/%Y)
sarg -d $Hoje-$Mes -o /var/www/squid-reports/Montly

##FIM

-----------------------------------------------------------------

Ou seja vc especifica por inteiro exemplo
1 dias atraz fica 0 days ago
1 mês atraz fica 1 month ago
1 semana atraz fica 1 week ago


Depois de criar os scrips criei um sub-diretorio chamado scripts_sarg/ em /etc/squid/, copiei os scrips para este subdir dei permissão de execução chmod +x nome_do_script.sh e agendei no cron com crontab -e depois listei com crontab -l

A primeira coluna se refere aos minutos (de 0 a 59)
A segunda coluna se refere a hora (De 0 a 23)
A quarta coluna se refere ao dia do mês (de 1 a 30)
A quinta coluna se refere ao mes (de 1 a 12)
A sexta coluna se refere ao dia da semana (0 domingo até 6 sexta)

50 23 * * * root /etc/squid/scripts_sarg/Daily.sh
50 23 * * 0 root /etc/squid/scripts_sarg/Weekly.sh
50 23 30 * * root /etc/squid/scripts_sarg/Montly.sh

No caso agendei o Daily.sh para todos os dias, meses e dias da semana (*) as 10 pra meia-noite (23:50), o Weekly para 23:50 de todos os de domingo e o monthly para as 23:50 de todo dia 30.


Muito obrigado pela sua ajuda !!!! E mais um caso encerrado....






4. Dúvida script do Monthly

Pedro Henrique do N Esteves
pedrohne

(usa Ubuntu)

Enviado em 26/07/2012 - 18:06h

Amigo, no cron vc configurou o mensal para todo dia 30, mas e o mês de fevereiro???


5. Cron.d

Aldyr Amaro
aldyr

(usa Debian)

Enviado em 14/11/2012 - 16:45h

Que tal salvar os script nas pastas
/etc/crond.daily (diario)
/etc/crond.weekly (semanal)
/etc/crond.montly (mensal)
talvez resolva a questão do mês de fevereiro.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts