[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