Hello Paul,
On Fri, Mar 24, 2017 at 10:14:21AM +0200, Paul Tötterman wrote:
Package: nginx
Version: 1.10.3-1
Severity: normal
Dear Maintainer,
I noticed that access.log.1 kept growing and access.log had size 0. Clearly
logrotate had run, but something doesn't quite work. lsof showed nginx still
having access.log.1 open. It seems that logrotate calls
invoke-rc.d nginx rotate
, which in turn calls
start-stop-daemon --stop --signal USR1 --quiet --pidfile $PID --name $NAME
I tried calling invoke-rc.d nginx rotate manually, after which lsof still showed
nginx keeping the old logfiles open.
systemctl kill -s USR1 --kill-who=main nginx.service
also didn't work, and neither did the same with --kill-who=all
systemctl restart nginx
did, finally, cause nginx to open the correct logfiles. But it seems unnecessary
heavy handed for log rotation.
Any better ideas?
Could you please run:
# lsof -p $(systemctl show -pMainPID nginx| cut -d= -f2)|grep /var/log
# invoke-rc.d nginx rotate
# lsof -p $(systemctl show -pMainPID nginx| cut -d= -f2)|grep /var/log
Also note that logrotate runs the postrotate script only when the
matching log files are not empty (notifempty flag). If those files are
empty, like in your case, the command isn't triggered.