On Mon, Feb 08, 2016 at 06:12:27AM +0000, Jamie Heilman wrote:
> chrysn wrote:
> > please disable that behavior, make it optional and/or document why it is
> > required.
>
> This is all based off daemontools' multilog ...
>
> https://cr.yp.to/daemontools/multilog.html
>
> ... which states:
>
> While multilog is running, current has mode 644. If multilog sees
> the end of stdin, it writes current safely to disk, and sets the
> mode of current to 744. When it restarts, it sets the mode of
> current back to 644 and continues writing new lines.
>
> When multilog decides that current is big enough, it writes current
> safely to disk, sets the mode of current to 744, and renames current
> as an old log file.
>
> Thus it's effectively using the mode bits as flag to communicate the
> state of the application, which while unusual, is harmless.
Yes, and it's also documented in the svlogd(8) man page shipped with
runit:
[...]
LOG FILE ROTATION
svlogd appends selected log messages to the current log file. If
current has size bytes or more (or there is a new-line within the
last len of size bytes), or is older than a specified amount of
time, current is rotated:
svlogd closes current, changes permission of current to 0755,
renames current to @timestamp.s, and starts with a new empty cur‐
rent. If svlogd sees num or more old log files in the log direc‐
[...]
Please don't change this behavior.
Regards, Gerrit.