> Date: Thu, 29 Nov 2012 22:21:30 -0600
> From: Paul Schmehl <pschmehl_li...@tx.rr.com>
> Subject: Re: Unexepected results when piping syslog to a fifo
>
> Now I'm even more confused.  According to man (5) syslog.conf, a pipe 
> should redirect its output to /dev/null.
>
>          " A vertical bar (``|''), followed by a command to pipe the 
> selected
>          messages to.  The command is passed to sh(1) for evaluation, so 
> usual
>          shell metacharacters or input/output redirection can occur.  (Note
>          however that redirecting stdio(3) buffered output from the invoked
>          command can cause additional delays, or even lost output data in 
> case
>          a logging subprocess exited with a signal.)  The command itself 
> runs
>          with stdout and stderr redirected to /dev/null."
>
> And yet this:
>
> *.* |cat > /var/run/program/program.fifo results in the log data going both 
> to the fifo and to /var/log/messages.  I really don't want to fill up the 
> messages log with this stuff.  Any suggestions?


to clear up the confusion:
 1) syslogd creates an environment where stdout/stderr are set to /dev/null,
    invokes sh in that environment, passing it the command string for 
    evaluation/execution. If the command string does *not* redirect 
    stdout/stderr, they are /dev/null.*IF* redirected in he command string,
    things go where redirected.
 2) syslogd writes messages to _every_ destination where the selection
    criteria match.  To accomplish what you want you'll need something
    like:
         +remotehost
         *.*     |cat >fifo
         -remotehost
         {console criteria}  /dev/console
         {'messages' criteria}  /var/log/messages
         {{ etc., etc.}}
    [ you may need "+* on it's own line just before "-remotehost"


_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to