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 [email protected] http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br

