On Sun, 2004-12-05 at 05:35, Balazs Scheidler wrote:
Same experiment with a program. Syslog-ng forks a child program at start-up but what happens if that child dies. I did a kill -9 just to see if it would detect the absence and try to re-fork.
If I want these features do I need to look outside of syslog-ng [some sort of daemon watcher that will throw a HUP].
you need a daemon watcher that restarts the program if it exited while keeping the stdin opened.
Thank you for answer. Let me ask a follow up. Do you think it would be possible to catch that event and re-fork the program or re-open a file handle in syslog-ng? I have not looked at the source code yet, that is my next task. But I'm asking in a theoretical way since you are the one who would know best. Thanks again.. PS - I suppose this is why a named pipe is a preferred method since it is more fault tolerant. Just add more info I was doing something like this destination d_mysql { program("/usr/bin/mysql -u user --password='password' database" template("INSERT INTO logs (host, facility, priority, level, tag, date, time, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes)); }; Instead of the standard method of using a pipe and have another process read the pipe. This method is nice since you don;t have to worry about restarting the reader if you restart syslog-ng. -- Mike Tremaine mgt@stellarcore.net http://www.stellarcore.net