Commit report for v3.1.x branch - logrotate
Matthew Newton
mcn4 at leicester.ac.uk
Fri Sep 18 00:29:34 CEST 2015
On Fri, Sep 18, 2015 at 12:00:02AM +0200, The git bot wrote:
> ======
> Revert "logrotate: send a HUP after rotation"
>
> This is wrong, copyrotate is the correct command to use
...
> https://github.com/FreeRADIUS/freeradius-server/commit/e82215bd77c43a33c57e5f17fb404ec32f05263f
That method can lose log data, and really a hack for programs that
can't close and reopen their own log files.
The right way is to move the logfile, then signal the daemon to
reopen its logfile, which is what the original version did.
But the question really is how to signal. "killall -HUP radiusd"
is verging on wrong (a variant of kill -HUP `cat $PIDFILE` would
be more correct). I suspect /etc/init.d/freeradius reload is
trying to do the latter, but is a) deprecated (it should be
something like service freeradius reload) and b) possibly won't
play well with systemd, however much any of us may hate it.
The example in logrotate.conf(5) is
postrotate
kill -HUP `cat /var/run/inn.pid`
endscript
which would be best IMO - it doesn't play with init scripts or
touch anything systemd related, is not as drastic as killall, and
has no race.
Cheers,
Matthew
--
Matthew Newton, Ph.D. <mcn4 at le.ac.uk>
Systems Specialist, Infrastructure Services,
I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom
For IT help contact helpdesk extn. 2253, <ithelp at le.ac.uk>
More information about the Freeradius-Devel
mailing list