I have just noticed that there seems to be no way to make rsyslogd empty
its buffers to disk.
--> Can that be? Is there an undocumented way?
In syslogd there was the HUP signal to "close files", flushing buffers.
In rsyslogd, the HUP signal has been use in a perverse way to perform a
"full restart", explicitly LOSING buffers (and any UDP packets sent
while it is gone).
Definitely an "unimprovement".
In the man page we read something that has been written while waiting in
the queue at the local fast food restaurant (Comments in ):
This lets rsyslogd perform close all open files. Also, in v3 a full
restart will be done in order to read changed configuration files [OKAY..].
Note that this means a full rsyslogd restart is done. [YES I GOT IT. WHY
THE UNHAPPINESS WITH "service restart"?]
This has, among others, the consequence that TCP and other connections
are torn down. [D'OH!]
Also, if any queues are not running in disk assisted mode or are not set
to persist data on shutdown, queue data is lost [:-(((((]
HUPing rsyslogd is an extremely expensive operation and should only be
done when actually necessary.
Actually, it is a rsyslgod stop immediately followed by a restart.
Future versions will remove this restart functionality of HUP (it will
go away in v5).
So it is advised to use HUP only for closing files, and a "real restart"
(e.g. /etc/rc.d/rsyslogd restart) to activate configuration changes.
[THIS MAKES NO SENSE AT ALL AND MUST BE A LEFTOVER FROM AN EARLIER RELEASE]
redhat-list mailing list