Sim, por isso mesmo que eu implementei com filtro, ou seja, apenas as mensagens que tiverem uma string específica de mensagem crítica, que aparecerá eventualmente, será desviada para o arquivo de PIPE, e não todas as mensagens.
<br><br><div><span class="gmail_quote">On 4/25/06, <b class="gmail_sendername">Luis Motta Campos</b> &lt;<a href="mailto:monsieur_champs@yahoo.com.br">monsieur_champs@yahoo.com.br</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
vict0r wrote:<br>&gt; Srs.,<br>&gt; estou querendo redirecionar as mensagens do syslog-ng para um script em<br>&gt; perl deverá enviar essas mensagens por email.<br>&gt; O script de envio de email já está escrito, só falata agora fazer o
<br>&gt; redirecionamento das mensagens.<br>&gt; Estou usando um arquivo de pipe, e no syslog-ng.conf adicionei a<br>&gt; seguinte regra:<br>&gt;<br>&gt; destination email { pipe(&quot;/tmp/email.pipe&quot;); };<br>&gt;<br>
&gt; Criei o arquivo de pipe com o seguinte comando:<br>&gt;<br>&gt; mkfifo /tmp/email.pipe<br>&gt;<br>&gt; Desta forma, quando qualquer mensagem chegar pela porta do syslog será<br>&gt; redirecionada para o arquivo de pipe, e o script de email deverá ficar
<br>&gt; rodando em um laço infinito, lendo por &lt;PIPE&gt; o arquivo /tmp/email.pipe.<br>&gt;<br>&gt; Estou tentando ler pelo script com o seguinte código:<br>&gt;<br>&gt; /***<br>&gt; $msg = &lt;PIPE&gt;;<br>&gt;<br>&gt; while (1)
<br>&gt; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open PIPE, &quot;/tmp/email.pipe&quot;;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($msg)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sender = new Mail::Sender ... bla bla bla<br>&gt;<br>&gt; ... ***/<br>&gt;<br>
&gt; Gostaria de saber se alguém tem uma dica ou se estou no caminho certo.<br>&gt; Obrigado.<br><br>&nbsp;&nbsp; DICA:<br>&nbsp;&nbsp; Nunca, jamais, por nenhum motivo, deixe seu syslog ligado num FIFO<br>(PIPE) sem que ele possa respirar. I/O para FIFOs são sempre do tipo
<br>blocking, o que quer dizer que, se não houver um programa lendo as<br>mensagens do outro lado, isso vai BLOQUEAR A EXECUÇÃO DO SYSLOG.<br><br>&nbsp;&nbsp; Para você entender o que isso quer dizer, praticamente todos os<br>programas do mundo unix usam syslog para se comunicar. Pelo menos, a
<br>parte séria (kernel, filesystem, daemons) usa.<br><br>&nbsp;&nbsp; Como I/O para o syslog é sempre blocking, se você bloquear o syslog<br>todos os seus programas vão parar de funcionar, e isso quer dizer:<br>INFARTO DO MIOCÁRDIO FULMINANTE NO KERNEL.
<br><br>&nbsp;&nbsp; Muito cuidado com a forma como você implementa isso. ;-)<br><br>--<br>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br>&nbsp;&nbsp;Luis Motta Campos is Software Engineer, Oracle OCP/DBA, Un*x<br>&nbsp;&nbsp;Sysadmin, Member of {Lisbon,São Paulo,Cascavel,Brasil,London}
<br>&nbsp;&nbsp;Perl Mongers and Perl Fanatic Evangelist<br>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br><br><br>_______________________________________________________<br>Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
<br><a href="http://br.acesso.yahoo.com">http://br.acesso.yahoo.com</a><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>&quot;Sou Brasileiro e não desisto nunca, de trabalhar pra sustentar banqueiro&quot;