Re: Nach newsyslog in Log Datei Bad file descriptor

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 12 Mar 2010 16:28:20 +0100 (CET)

Detlef Peeters <listen(at)heringa.de> wrote:
> Oliver Fromme wrote:
> > Oliver Fromme wrote:
> > > Per Default schickt newsyslog ein SIGHUP an den Prozess.
> > > Das verursacht bei nginx aber nur ein erneutes Laden der
> > > Konfiguration. Um die Logdateien neu zu öffnen, muss man
> > > ein SIGHUP an nginx schicken.
> >
> > Sorry für den Vertipper. Im letzten Satz muss es natürlich
> > SIGUSR1 heißen, nicht SIGHUP.
>
> Muss ich denn immer ein SIGUSR1 senden umd die Logdateien zu laden, bzw.
> woran erkenne ich wann ein SIGHUP reicht?
>
> Wenn ich mir nämlich den Eintrag von pflog anschaue wird da ja auch nur
> ein SIGHUP gesendet.

Das hängt vom jeweiligen Programm ab. Das macht jeder Pro-
grammierer so, wie er es für richtig hält. Normalerweise
kann man es in der zugehörigen Dokumentation nachlesen.

Beim pflogd(8) steht es in der manpage, gleich zu Beginn
des zweiten Absatzes.

Nginx habe ich nicht installiert, daher weiß ich da nichts
über die manpages, aber online ist es dokumentiert:

http://wiki.nginx.org/NginxLogRotation

Bei vielen Programmen, wie beim syslogd(8), wird SIGHUP
verwendet (daher ist dies die Standardvorgabe bei newsys-
log), aber eben nicht immer.

Das Problem ist, dass SIGHUP traditionell auch für das neue
Einlesen der Konfigurationsdateien verwendet wird, damit
Änderungen im laufenden Prozess übernommen werden. Wenn
man das nun vom Rotieren der Logdateien trennen möchte (was
ja durchaus Sinn ergibt), dann muss man zwangsläufig zwei
verschiedene Signale dafür verwenden, oder auf andere Me-
chanismen ausweichen. Der nginx-Autor hat sich offenbar
entschieden, die Signale SIGHUP und SIGUSR1 für diese
beiden Aufgaben zu verwenden.

Manche Programme bringen auch ein eigenes Tool oder eine
Option mit, die das Rotieren und/oder Öffnen und Schließen
der Logdateien erledigt. Typisches Beispiel ist Apache,
der das Tool apachectl dafür hat. Das tut »unter der
Haube« natürlich auch nichts anderes, als entsprechende
Signale an den Apache-Prozess zu schicken, aber es hat
den Vorteil, dass man als Admin nicht mehr wissen muss,
welche das sein müssen. (Man sollte auch tunlichst ver-
meiden, manuelle Signale hinzuschicken, da sich das be-
treffende Signal in der Vergangenheit schonmal geändert
hat und auch plattformabhängig ist. Damit kann man sich
prächtig in den Fuß schießen.)

Langer Rede kurzer Sinn: Doku lesen.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"In My Egoistical Opinion, most people's C programs should be indented
six feet downward and covered with dirt."
        -- Blair P. Houghton
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 12 Mar 2010 - 16:28:42 CET

search this site