Log-Files überwachen mit Perl etc ...
Markus Wigge
markus at cultcom.de
Thu Jul 18 15:52:02 CEST 2002
Tag,
> Du willst eigentlich merken wenn es rotiert wird und das neue file
> oeffnen.
> Ich habe das geloest in dem ich auf den filename und auf den
> filedescriptor des offenen files regelmaessig ein "stat" bzw "fstat"
> mache und dann die inode nummer vergleiche - Wenn die sich aendern
> dann hat das script "file" -> "file.old" umbenannt und "file" neu
> erzeugt. Die andere moeglichkeit ein logfile zu rotieren ist eine
> kopie anzufertigen und die datei zu truncaten "cat /dev/null >file"
> was dann aber darin endet das die datei "kleiner" wird also beim stat
> die "filesize" kleiner wird als die beim letzten mal.
Können bei der 2. Variante nicht Einträge verloren gehen?
- ich kopiere
- während der kopie erfolgt ein Eintrag
- ich Überschreibe das Original samt neuem Eintrag auf 0 Byte
Und was passiert wenn das rotieren die Datei nicht nur umbewegt und eine
neue anlegt, sondern gleichzeitig auch noch die alte gzipped?
Was passiert in so einem Fall mit den I-Nodes überhaupt? Legt gzip dann
eine neue Datei an und löscht die alte oder überschreibt es die alte
beginnend beim gleichen I-Node?
> Nein - Problem mit der fifo ist IIRC das wenn du die auf der einen seite
> schliesst und kommt beim naechsten mal nichts mehr oder so ... Habe da
> mal mit rumgespielt aber nichts genaueres weis man nicht mehr.
Mmmh, wüßte ich gerne mehr drüber, da das bisher meine favorisierte Idee
war ...
> Vorteil dieser variante ist das die zeilen waerend des rotierens nicht
> verloren gehen.
Schau ich mir in einer ruhigen Minute mal genauer an, danke.
bye
Markus
More information about the Linux
mailing list