Hallo,
ich habe hier ein Verzeichnis in dem eine Applikation Logfiles pro Vorgang anlegt:
wsLog_12345.txt wsLog_67890.txt wsLog_abcde.txt
Ich möchte nun alle diese wsLog_*.txt Files via logrotate regelmässig zusammenfassen lassen und eine Weile archivieren. Geht das überhaupt mit logrotate? Wenn ja, welche Direktiven soll ich verwenden?
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr schrieb:
Ich möchte nun alle diese wsLog_*.txt Files via logrotate regelmässig zusammenfassen lassen und eine Weile archivieren. Geht das überhaupt mit logrotate? Wenn ja, welche Direktiven soll ich verwenden?
Ja, geht und sollte so funktionieren:
/pfad/zum/logverzeichnis/wsLog* { compress daily rotate 10 dateext notifempty missingok copytruncate }
Hiermit werden die Dateien täglich und insgesamt max. 10 mal rotiert, bis sie weggeworfen werden, es sei denn, sie sind leer.
Details zu den Optionen gibt "man logrotate".
Grüße Marian
On Wed, Sep 20, 2006 at 10:18:53AM +0200, Marian Neubert wrote:
Ich möchte nun alle diese wsLog_*.txt Files via logrotate regelmässig zusammenfassen lassen und eine Weile archivieren. Geht das überhaupt mit logrotate? Wenn ja, welche Direktiven soll ich verwenden?
Ja, geht und sollte so funktionieren:
Wenn ich Jens' Problem richtig verstanden habe, ist das aber noch nicht die Loesung, da er die einzelnen Logfiles ja vorher zu einem _einzigen_ zusammenfassen will.
Ich wuerde wahrscheinlich vorher einen Cronjob bauen, der das Zusammenfassen erledigt (cat /pfad/zum/log/ws_*.txt > /pfad/zum/log/wsCombined.txt) und anschliessend die von Marian vorgeschlagenen Logrotatekonfiguration anpassen...
Marcus
Markus Obst writes:
Wenn ich Jens' Problem richtig verstanden habe, ist das aber noch nicht die Loesung, da er die einzelnen Logfiles ja vorher zu einem _einzigen_ zusammenfassen will.
Genau.
Ich wuerde wahrscheinlich vorher einen Cronjob bauen, der das Zusammenfassen erledigt (cat /pfad/zum/log/ws_*.txt > /pfad/zum/log/wsCombined.txt) und anschliessend die von Marian vorgeschlagenen Logrotatekonfiguration anpassen...
Na, dann verzichte ich wohl gleich auf logrotate und lasse ein kleines Shellscript per cron laufen.
Danke trotzdem.
Mit freundlichen Grüßen
Jens Puruckherr
On Wed, Sep 20, 2006 at 10:01:41AM +0200, Jens Puruckherr wrote:
Hallo,
Hi Jens,
ich habe hier ein Verzeichnis in dem eine Applikation Logfiles pro Vorgang anlegt:
wsLog_12345.txt wsLog_67890.txt wsLog_abcde.txt
Ich möchte nun alle diese wsLog_*.txt Files via logrotate regelmässig zusammenfassen lassen und eine Weile archivieren. Geht das überhaupt mit logrotate?
Eigentlich ist logrotate dafür designed jeweils eine Datei zu behandeln, aber evtl. kannst du mit der prerotate Anweisung etwas tricksen, etwa:
/var/log/allmessages.log { rotate 5 weekly prerotate cat /var/log/<appsdir>/*.txt > /var/log/allmessages.log endscript }
Hab das nicht getestet, solltest du also selbst erstmal ausprobieren.
Ciao, Tobias
On Wed, Sep 20, 2006 at 10:41:41AM +0200, Tobias Koenig wrote:
Eigentlich ist logrotate dafür designed jeweils eine Datei zu behandeln, aber evtl. kannst du mit der prerotate Anweisung etwas tricksen, etwa:
/var/log/allmessages.log { rotate 5 weekly prerotate cat /var/log/<appsdir>/*.txt > /var/log/allmessages.log endscript }
funktioniert leider auch nicht, da /var/log/allmessages.log ja vor dem prerotate-Skript noch gar nicht da ist und der ganze Block somit von logrotate ignoriert wird...
Marcus
On Wed, Sep 20, 2006 at 10:55:14AM +0200, Marcus Obst wrote:
On Wed, Sep 20, 2006 at 10:41:41AM +0200, Tobias Koenig wrote:
Hi,
Eigentlich ist logrotate dafür designed jeweils eine Datei zu behandeln, aber evtl. kannst du mit der prerotate Anweisung etwas tricksen, etwa:
/var/log/allmessages.log { rotate 5 weekly prerotate cat /var/log/<appsdir>/*.txt > /var/log/allmessages.log endscript }
funktioniert leider auch nicht, da /var/log/allmessages.log ja vor dem prerotate-Skript noch gar nicht da ist und der ganze Block somit von logrotate ignoriert wird...
Hmm, das würde ich als Limitation von logrotate bezeichnen... oder man legt halt erst eine dummy Datei an.
Ciao, Tobias
lug-dd@mailman.schlittermann.de