Ola pessoal, devem ter pessoas aqui com o mesmo problema que o meu, eu estava com dificuldades para gerar um relatorio mensal do dia 10 ao dia 10 de cada mes que é o período que os clientes pagam pela internet, sou leigo em linux e usei todo o meu pouquissimo conhecimento e fiz isso, se alguem mais experiente tiver uma solução melhor, agradeço:
1º desativei o log rotate do ubuntu nos arquivos do squid:
rm /etc/logrotate.d/squid3
2º agendei um script para rodar diariamente as 23:59.
editei o /etc/crontab e adicionei a linha:
59 23 * * * root /etc/squid/diario.sh
depois dei o comando: /etc/init.d/cron restart
3º criei o arquivo em \etc\squid\diario.sh
### inicio do arquivo
dia=$(date +%d)
mesatras=$(date --date "1 month ago" +%m/%y)
mesatual=$(date --date "0 month ago" +%m/%y)
mesqvem=$(date --date "next month" +%m/%y)
cd /var/log/squid3
rm $dia.log
cp access.log $dia.log
> access.log
> cache.log
> store.log
if [ "$dia <= 10" ]
then
sarg manual 10/$mesatras-10/$mesatual -l 01.log -l 02.log -l 03.log -l 04.log -l 05.log -l 06.log -l 07.log -l 08.log -l 09.log -l 10.log -l 11.log -l 12.log -l 13.log -l 14.log -l 15.log -l 16.log -l 17.log -l 18.log -l 19.log -l 20.log -l 21.log -l 22.log -l 23.log -l 24.log -l 25.log -l 26.log -l 27.log -l 28.log -l 29.log -l 30.log -l 31.log
else
sarg manual 10/$mesatual-10/$mesqvem -l 01.log -l 02.log -l 03.log -l 04.log -l 05.log -l 06.log -l 07.log -l 08.log -l 09.log -l 10.log -l 11.log -l 12.log -l 13.log -l 14.log -l 15.log -l 16.log -l 17.log -l 18.log -l 19.log -l 20.log -l 21.log -l 22.log -l 23.log -l 24.log -l 25.log -l 26.log -l 27.log -l 28.log -l 29.log -l 30.log -l 31.log
fi
### fim do arquivo
dei a permissão: chmod 777 diario.sh
criei os arquivos vazios para nao haver erro: touch 01.log, touch 02.log e etc..... ate touch 31.log
pronto, sei que ficou amador, mas o meu problema de 1 log só gigante e relatorios mensais do dia 10 ao 10 acabou. alguem ja teve um problema igual e uma solução melhor?