On Mon, 04 May 2009, Bartosz Lis wrote:
Hello,
I had the same problem as Jan Rekorajski with syslog-ng 3.0.1 and 2.0.10:
Hi, Syslog-ng 3.0.1 dies on reload (kill -HUP pid) when config file contains log { destination { program() } } directive set. 100% repeatable.
Here are the relevant config lines:
destination d_sshguard { program("/usr/sbin/sshguard -a 6"); }; # A desperate experiment #destination d_sshguard { program("read"); };
log { source(s_sys); filter(f_authpriv); destination(d_sshguard); };
pstree revealed that the command /usr/sbin/sshguard was run by a shell (in my case pdksh). To make the shell go out of my way I've put exec before /usr/sbin/sshguard . See my syslog-ng.conf :
destination d_sshguard { program("exec /usr/sbin/sshguard" template("$DATE $FULLHOST $MESSAGE\n")); }
Since I've changed this and restarted syslog-ng, it survives killing it with HUP, now.
ACK. I also use pdksh and putting exec before command fixed the issue for me. Big thanks for finding this. -- Jan Rekorajski | ALL SUSPECTS ARE GUILTY. PERIOD! baggins<at>mimuw.edu.pl | OTHERWISE THEY WOULDN'T BE SUSPECTS, WOULD THEY? BOFH, MANIAC | -- TROOPS by Kevin Rubio