PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateigröße- Orientiertes Zipen von Logfiles



03.04.01, 16:42
Hallo!
Ich möchte ein sich schnell vergrößerndes Logfile ab einer bestimmten Größe automatisch zipen lassen.
Ich habe im System gefunden das das schon für z.B. die /var/log/messages und wtmp so gehandhabt wird. Ich weiss aber nicht wo das konfiguriert wird.
Kann mir da jemand helfen?
Danke
Asterix

thommy
04.04.01, 08:00
Ein solches Verfahren implementiert "logrotate" und ist bspw. bei RedHat vorinstalliert. logrotate wird üblicher weise per Cronjob gestartet und vergleicht die überwachten Log-Dateien mit seiner Konfiguration. Treffen die dortigen Eigenschaften zu (bspw. dass díe Datei eine bestimmte Größe erreicht hat), wird die Log-Datei "rotiert" (und auf Wunsch gepackt).

Unter http://www.linuxfibel.de/protocol.htm#logrotate findest Du eine Anleitung.

Thomas

04.04.01, 16:12
Danke!
Funktioniert einwandfrei. Leider giebt es so ein Tool nicht original von SUSE.

04.04.01, 16:16
Bei SuSE übernimmt das ein Script, welches die Datei /etc/logfiles ausliest.

Die Datei sieht dann so aus:


#
# This file tells cron.daily, which log files have to be watched
#
# File max size mode ownership service
# (reload if changed)
/var/log/mgetty.* +1024k 644 root.root
/var/log/vgetty.* +2048k 644 root.root
/var/log/vbox.tty* +1024k 644 root.root
/var/adm/isdn.log +1024k 644 root.root


Mir persönlich war das aber zu wenig an Konfigurierbarkeit. Ich bin auch auf Logrotate umgestiegen http://www.linuxforen.de/ubb/cool.gif.

mfg
Thomas

04.04.01, 16:25
Das skript hab ich eben auch gefunden. Es soll wohl von cron.daily ausgelesen werden. Da binn ich gerade am probieren aber irgendwie haben meine änderungen im /etc/logfiles keine Auswirkungen.
Muß ich evtl Cron neu starten???

04.04.01, 16:33
starte mal im Verzeichnis /etc/cron.daily das Script direkt (aaa_base_rotate...oder so ähnlich) und schau Dir mal an, ob es ohne Cron-Aufruf klappt.

mfg
Thomas

PS: Meines Wissens nach brauchen Änderungen an den Cron-Tabellen nicht mit einem HUP des crond abgeschlossen werden -> die Änderungen müssten auch so wirksam werden, sofern crond läuft.

04.04.01, 16:53
Ich hab wie du sagtest das Skript aaa_base_rotate_logs manuell gestartet. Das macht er ohne jeglichen Kommentar (auch nicht in den messages). Leider ändert sich auch danach nichts. ???
Wenn ihr jetzt auch nicht mehr weiter wißt ist es auch nicht schlimm. Logrotate ist sowiso besser. Wäre hlt nur mal interesannt gewesen dem cron.daily auf die Schliche zu kommen.
Danke

04.04.01, 17:20
Ich habe mal kurzerhand das Script aaa_base_rotate... ausgeführt (zuvor die Werte für Dateigröße in /etc/lofiles runtergesetzt -> funktioniert einwandfrei. Auf jeden Fall wird cron.daily einmal in 24 Stunden angestoßen (sollte sich meiner Meinung nach aus dem Datum der Datei /var/spool/cron/lastrun/cron.daily ergeben).

Die Crontabellen werden, wie von mir behauptet, jede Minute auf Änderungen überprüft -> ohne Neustart des Cron (siehe Manpage - ziemlich weit hinten).

mfg
Thomas