[Cascavel-pm] Ler o arquivo do final

Luís Fernando lemon em grad.icmc.usp.br
Domingo Junho 6 09:31:38 CDT 2004


Solli,

no meu também rotaciona no mesmo arquivo (o "antigo" - que era o que
eu estava analisando - vira "log.1", e é criado um novo sem conteúdo
com o nome do "antigo").
Como eu estou fazendo busca sempre (sem marcar a última posição), não
tenho que me preocupar se rotacionou ou não, pois sempre vai procurar
a data no arquivo, independente do último conteúdo dele.
Eu perco as últimas informações quanto ele rotaciona, mas não são
importantes... O meu script serve para analisar o log do servidor de
E-Mails e procurar "sintomas" de SPAM. Dependendo da configuração
feita no script, ele já pode enviar comando de bloqueio dos IPs para o
iptables.
Quanto à técnica de marcas, parece que funciona. Só não implemento
agora por não ser tão crítico (o script roda em média 1x/hora). Mas
talvez quando eu conseguir pensar nas principais características de
SPAM (tenho um log do meu servidor com 4 horas sem SPAM e 4 horas com
SPAM, preciso analisá-lo com mais calma para ver as diferenças mais
gerais e poder implementar).

/*

+---------------------------------+
| Luís Fernando Estrozi           |
+---------------------------------+
| Ciência da Computação - USP     |
|                                 |
| mailto:lemon em grad.icmc.usp.br   |
| ICQ#: 25541891                  |
|                                 |
| http://grad.icmc.usp.br/~lemon/ |
+---------------------------------+

There are 10 types of people in the world: Those who understand binary, and those who don't

*/ EOF

|---> Original Message <---> 6/6/2004, 10:20 <---|
Luís,

Como você faz hoje para saber se o log virou ? Você perde as informações
dos log passado ? Eu ainda acho que você poderia utilizar a técnica de
marca, mas neste caso então utilize duas marcar, uma para você saber se
o arquivo é aquele mesmo que estava processando (como por exemplo a data
de criação do arquivo, ou uma informação particular na primeira linha do
arquivo - como uma data, e a outra para a última posição que você
estava.

Vou dar um exemplo, eu tenho script que captura os eventos logs do
Windows, e os logs dos servidores estão marcado para rotacionar também
(tenho servidor com mais de 250 MB), neste caso eu sempre continuo do
último ponto de acesso. Para saber se o log foi rotacionado, eu compara
a informação de data que foi capturado no passado com a informação que
estou coletando, se não forem iguais eu assumo que o log já foi
rotacionado. No meu caso o problema é um pouco mais complicado, pois o
rotacionamento ocorre no mesmo arquivo.

Solli




Mais detalhes sobre a lista de discussão Cascavel-pm