Evandro Zampieri wrote:
> Usamos aqui uma solução caseira que rotaciona às 0h de todo dia 1º de cada
> mês, e deixa o aquivo com o conteúdo e nome do mês que findou-se.
> 
> No crontab coloque:
> 0 0 1 * * /usr/local/script/squid-rotate.sh
> 
> No diretório de trabalho coloque o script abaixo:
> 
> #!/bin/sh
> /usr/local/etc/rc.d/squid.sh stop
> cat /usr/local/squid/logs/access.log >
> /usr/local/squid/logs/access.log.`date -v -1m +%Y%m`
> cat /dev/null > /usr/local/squid/logs/access.log

Olá,

  Você pode passar um SIGUSR1 para o Squid rotacionar o arquivo de log 
em vez de ter o trabalho de pará-lo para fazer o procedimento. Isso pode 
ser feito também pelo comando `squid -k rotate` e a diretiva que 
controla o número de arquivos que são mantidos é 'log_rotate' no squid.conf.

  É possível utilizar o newsyslog para fazer este serviço também. Para 
isso coloque a linha abaixo no /etc/newsyslog.conf e altere a gosto.

  /usr/local/squid/logs/access.log nobody:wheel 644 7 *  @T00  ZB 
/var/run/squid.pid 30

  644  = Permissão do arquivo.
  7    = Número de arquivos que serão mantidos.
  *    = Tamanho do arquivo (* indica que o tamanho não importa).
  @T00 = Horario (meia-noite).
  JB   = J indica que deve-se usar compactação Bzip2 e B que o arquivo é 
'binário' e o newsyslog não deve tentar escrever nele (para adicionar um 
cabeçalho informativo).
  /var/run/squid.pid = Arquivo com o PID que receberá o sinal.
  30   = Sinal a ser enviado.

  Outro utilitário famoso é o ports/sysutils/logrotate.

Um abraço,

-- 
Giovanni P. Tirloni
http://blog.tirloni.org

_______________________________________________
freebsd mailing list
freebsd@fug.com.br
http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br

Responder a