[Cascavel-pm] Duvida ao ler arquivo
Luis Motta Campos
monsieur_champs em yahoo.com.br
Terça Abril 25 03:25:41 PDT 2006
vict0r wrote:
> Srs.,
> estou querendo redirecionar as mensagens do syslog-ng para um script em
> perl deverá enviar essas mensagens por email.
> O script de envio de email já está escrito, só falata agora fazer o
> redirecionamento das mensagens.
> Estou usando um arquivo de pipe, e no syslog-ng.conf adicionei a
> seguinte regra:
>
> destination email { pipe("/tmp/email.pipe"); };
>
> Criei o arquivo de pipe com o seguinte comando:
>
> mkfifo /tmp/email.pipe
>
> Desta forma, quando qualquer mensagem chegar pela porta do syslog será
> redirecionada para o arquivo de pipe, e o script de email deverá ficar
> rodando em um laço infinito, lendo por <PIPE> o arquivo /tmp/email.pipe.
>
> Estou tentando ler pelo script com o seguinte código:
>
> /***
> $msg = <PIPE>;
>
> while (1)
> {
> open PIPE, "/tmp/email.pipe";
>
> if ($msg)
> {
> $sender = new Mail::Sender ... bla bla bla
>
> ... ***/
>
> Gostaria de saber se alguém tem uma dica ou se estou no caminho certo.
> Obrigado.
DICA:
Nunca, jamais, por nenhum motivo, deixe seu syslog ligado num FIFO
(PIPE) sem que ele possa respirar. I/O para FIFOs são sempre do tipo
blocking, o que quer dizer que, se não houver um programa lendo as
mensagens do outro lado, isso vai BLOQUEAR A EXECUÇÃO DO SYSLOG.
Para você entender o que isso quer dizer, praticamente todos os
programas do mundo unix usam syslog para se comunicar. Pelo menos, a
parte séria (kernel, filesystem, daemons) usa.
Como I/O para o syslog é sempre blocking, se você bloquear o syslog
todos os seus programas vão parar de funcionar, e isso quer dizer:
INFARTO DO MIOCÁRDIO FULMINANTE NO KERNEL.
Muito cuidado com a forma como você implementa isso. ;-)
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Luis Motta Campos is Software Engineer, Oracle OCP/DBA, Un*x
Sysadmin, Member of {Lisbon,São Paulo,Cascavel,Brasil,London}
Perl Mongers and Perl Fanatic Evangelist
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com
Mais detalhes sobre a lista de discussão Cascavel-pm