On Fri, Apr 02, 2004 at 05:19:42PM +0200, Dag-Erling Sm?rgrav wrote:
> James Housley <[EMAIL PROTECTED]> writes:
> > I have a program that I have the is supposed to run forever.  I log
> > any output to a log file.  It is run in a startup script like thie:
> >
> > program_name >> $err_log 2>&1
> >
> > The problem is that after newsyslog rotates the $err_log file, no more
> > data is written to the file.  I can not stop and restart the program.
> > I can accept a signal.  But what do I need to do in "program_name" to
> > allow the data to be written after the "rotation" of the file.
> 
> There is not much you can do unless you modify your program to write
> directly to the log file instead of stdout (in which case you just
> need to re-open the log file when you get a SIGHUP), or use something
> like Apache's logrotate instead of newsyslog (pipe the program's
> output to logrotate, which takes care of the rest)

Or, as an alternative to Apache's logrotate, there is multilog from
djb's daemontools package - ports/sysutils/daemontools,
http://cr.yp.to/daemontools.html

G'luck,
Peter

-- 
Peter Pentchev  [EMAIL PROTECTED]    [EMAIL PROTECTED]    [EMAIL PROTECTED]
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
because I didn't think of a good beginning of it.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to