Re: /kernel: handle_workitem_freeblocks

From: Oliver Fromme <olli(at)secnetix.de>
Date: Wed, 22 May 2002 12:03:15 +0200 (CEST)

Christian Lackas <lackas(at)mail.desy.de> wrote:
> > > > > $ echo "" > ipmon.log
>
> gleiches erreicht man auch mit
>
> echo > ipmon.log

Naja, dann hast Du aber immer noch eine Leerzeile drin.
Wenn schon, dann »cp /dev/null ipmon.log«.

> Wenn die Datei mit O_APPEND geöffnet wird (was bei Logfiles ja nicht
> unüblich ist), dann kann man Logdateien mit obiger Methode eigentlich
> schon leeren.

Wenn man sich darauf verlassen kann (indem man es z.B. im
Source nachgelesen hat), dann ja. Du hast dann aber immer
noch eine Race-Condition beim Rotieren, denn Du willst ja
sicherlich die alten Logs aufheben (und vielleicht kompri-
mieren), wo einem Einträge verlorengehen können. Will man
dagegen nichts aufheben, stellt sich die Frage, wieso man
überhaupt eine Logdatei verwendet und nicht nach /dev/null
loggen läßt.

Letztendlich ist die einzig vernünftige Methode zum Rotie-
ren diejenige, die ich bereits beschrieben hatte:

> > Richtig wird es so gemacht, daß man die Datei umbenennt
> > (z.B. »mv bla.log bla.log.0«) und dann dafür sorgt, daß der
> > Prozeß sie schließt und neu öffnet. Manche Programme tun
> > dies, wenn man ihnen ein SIGHUP schickt, ansonsten muß man
> > sie halt killen und neustarten.
>
> Bei Servern, die sowas nicht unterstützen (und die man nicht beenden
> möchten) kopiert man die Datei und trunkiert sie dann.

Das nenn' ich Pfusch mit Gegenpfusch bekämpfen. :-)

> Dabei können
> natürlich ein paar Einträge (zwischen Kopieren und Trunkieren) verloren
> gehen. Deshalb wird im Allgemeinen davon abgeraten. Wer seine Daten aber
> einfach löschen will, für den ist "echo > file" eigentlich ausreichend.

In dem Fall würde ich »ln -s /dev/null file« machen.
Aus den Augen, aus dem Sinn.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 22 May 2002 - 12:03:23 CEST

search this site