Quick question about using kill -USR1 to recreate access.log
lordnynex at gmail.com
Mon May 19 19:53:55 UTC 2014
The name of the file is really sort of irrelevant. The file descriptor will
still point at $ACCESS_LOG_DROPBOX/$LOG_FILENAME. Any log lines between MV
and KILL *should* still be written there.
Why not use logrotate? Why not use nginx reload? Why not use HUP?
On Mon, May 19, 2014 at 12:36 PM, Francis Daly <francis at daoine.org> wrote:
> On Mon, May 19, 2014 at 03:06:06PM -0400, samingrassia wrote:
> Hi there,
> > mv $NGINX_ACCESS_LOG $ACCESS_LOG_DROPBOX/$LOG_FILENAME
> > kill -USR1 `cat $NGINX_PID`
> > My questions is during time between the mv and the kill, is there any log
> > writes that are being discarded or are they being stacked in memory and
> > dumped into the new access.log after it is recreated?
> What happens when you do
> mv $NGINX_ACCESS_LOG $ACCESS_LOG_DROPBOX/$LOG_FILENAME
> and then issue a http request of your nginx server, before the kill?
> Do you see the log line go into $NGINX_ACCESS_LOG; onto the end of
> $ACCESS_LOG_DROPBOX/$LOG_FILENAME; or disappear without being written
> I'd expect the first option not to happen; the second option to happen
> if the "mv" is a "rename"; and the third option to happen if the "mv"
> is a "copy and delete". So make sure that your "mv" is a "rename",
> and you'll be fine.
> Actually, I'd expect the first option to happen if you are using variables
> in your log file name, according to its documentation.
> Francis Daly francis at daoine.org
> nginx mailing list
> nginx at nginx.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nginx