Date: Fri, 30 Nov 2012 03:20:29 -0600 (CST) From: Robert Bonomi <bonomi@mail.r-bonomi.com> To: pschmehl_lists@tx.rr.com Cc: freebsd-questions@freebsd.org Subject: Re: Unexepected results when piping syslog to a fifo Message-ID: <201211300920.qAU9KTcF043099@mail.r-bonomi.com> In-Reply-To: <C25A8455A7709875B53BE78B@Pauls-MacBook-Pro.local>
next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Thu, 29 Nov 2012 22:21:30 -0600 > From: Paul Schmehl <pschmehl_lists@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"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211300920.qAU9KTcF043099>