/var/log volllaufen verhindern
/var/log volllaufen verhindern
Ich hatte jetzt auf einem server das problem, dass /var/log schnell 6GB verbraucht hat (/ war dann voll, da nicht mehr speicher auf der kiste ist), da ein daemon sehr viele fehler produziert hat. Leider hat logrotate nichts geholfen, da einfach sehr schnell die platte vollgeschrieben wurde... Nachdem logrotate durchgerannt ist wurde wieder der log gefüllt.
Nun kann ich /var/log nicht mal auf eine eigene partition geben, da ich die installation so übernommen habe und alles auf einer partition liegt (auch kein LVM).
Gibt es vielleicht irgend ein tool, welches die dateien überwacht und bei stark ansteigender größe etwas unternimmt? Löschen ist sicher nicht so gut, denn ich würde in einem solchen fall ja gerne wissen was genau schief gegangen ist. Einfach nur ein Mail ist sicher nicht verkehrt, aber hilft halt auch erst am nächsten morgen. Was gäbe es noch für optionen, was habt ihr da im betrieb?
Nun kann ich /var/log nicht mal auf eine eigene partition geben, da ich die installation so übernommen habe und alles auf einer partition liegt (auch kein LVM).
Gibt es vielleicht irgend ein tool, welches die dateien überwacht und bei stark ansteigender größe etwas unternimmt? Löschen ist sicher nicht so gut, denn ich würde in einem solchen fall ja gerne wissen was genau schief gegangen ist. Einfach nur ein Mail ist sicher nicht verkehrt, aber hilft halt auch erst am nächsten morgen. Was gäbe es noch für optionen, was habt ihr da im betrieb?
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
Welcher daemon ist denn der schuldige? Eventuell kann man dem das abgewöhnen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: /var/log volllaufen verhindern
Logrotate!?reox hat geschrieben: Gibt es vielleicht irgend ein tool, welches die dateien überwacht und bei stark ansteigender größe etwas unternimmt?
Du koenntest es stuendlich oder in noch kuerzeren Intervallen laufen lassen und z.B. anhand der Dateigroesse rotieren lassen.
Dann koenntest du noch nach einen schnelleren Benachrichtigungskanal schauen.
Use ed once in a while!
Re: /var/log volllaufen verhindern
@KBDCALLS: kam vom php, das logging ist eh schon wieder runtergedreht Also zumindest der sollte das nicht nochmal machen...
@Meillo: Ja logrotate rennt ja sowieso schon. Wenn ich das jetzt aber zB auf stündlich setze habe ich da schnell sehr viele files herumliegen. Zum Debuggen von irgendwelchen problemen ist es aber auch oft sinnvoll wenn man die logfiles von letzter woche aufhebt. Oder kann man logrotate so konfigurieren, dass er die logs der letzten woche jede stunde in ein eigenes file schreibt? (so dass ich nicht syslog.168.gz da liegen hab...)
@Meillo: Ja logrotate rennt ja sowieso schon. Wenn ich das jetzt aber zB auf stündlich setze habe ich da schnell sehr viele files herumliegen. Zum Debuggen von irgendwelchen problemen ist es aber auch oft sinnvoll wenn man die logfiles von letzter woche aufhebt. Oder kann man logrotate so konfigurieren, dass er die logs der letzten woche jede stunde in ein eigenes file schreibt? (so dass ich nicht syslog.168.gz da liegen hab...)
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
Schau dir mal die Dateien in /etc/logrote.d/ an. Da kann man dann Stündlich einstellen und das dann noch Zahlenmäßig begrenzen. Gibts kein Eintrag für php . Dann erstellt man sich einen. Beispiele liegen reichlich in dem Verzeichnis, die man als Vorlage verwenden kann. .
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: /var/log volllaufen verhindern
Soviel ich weiss, kann Logrotate auch nach Datenmenge rotieren, nicht nur nach Zeitabschnitt. Damit kannst du dann dafuer sorgen, dass die Logfiles, die schneller voll laufen auch schneller rotiert werden. Statt z.B. die letzten zwei Monate an Logs aufzuheben, hebst du halt z.B. die letzten 200MB an Logs auf ... zumindest vom Prinzip her. Wirklich begrenzen kannst du die Menge in der Realitaet nicht, aber wenn logrotate oft genug laeuft, dann koennte das helfen. Soviel mir bekannt ist, kannst du logrotate auch mehrfach mit verschiedenen Configs starten. Wenn du weisst, welche Logfiles immer wieder voll laufen, dann koenntest du logrotate mit einer groessenabhaengigen Config speziell fuer diese Logfiles per halbstuendlichem Cronjob starten, denke ich mir.reox hat geschrieben: @Meillo: Ja logrotate rennt ja sowieso schon. Wenn ich das jetzt aber zB auf stündlich setze habe ich da schnell sehr viele files herumliegen. Zum Debuggen von irgendwelchen problemen ist es aber auch oft sinnvoll wenn man die logfiles von letzter woche aufhebt.
Use ed once in a while!
Re: /var/log volllaufen verhindern
So als Überlegung: Können vielleicht mittels Links oder so die zu schreibenden log-Informationen auf einen Ort umgeleitet werden, der genügend Speicherplatz zur Verfügung hat?
Edit: Ja, gerade probiert: Ein symbolischer Link ermöglicht das.
Edit: Ja, gerade probiert: Ein symbolischer Link ermöglicht das.
Know your tools, train your basics.
Re: /var/log volllaufen verhindern
Das geht auf jeden Fall, vorausgesetzt, es befindet sich eine andere Partition/Platte in dem Rechner, die genug Platz bietet.noobadix hat geschrieben:So als Überlegung: Können vielleicht mittels Links oder so die zu schreibenden log-Informationen auf einen Ort umgeleitet werden, der genügend Speicherplatz zur Verfügung hat?
Edit: Ja, gerade probiert: Ein symbolischer Link ermöglicht das.
Man kann natürlich die Logs auch über das Netzwerk auf einen ganz anderen Rechner leiten, dann fällt der benötigte Platz beim Zielrechner an, beim Quellrechner kann man dann komplett auf Logs verzichten.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: /var/log volllaufen verhindern
Ich hab mir mal da ein Script gebastelt auf der maloche. Der durchsucht /var/log nach Dateien > 1Mb und schickt mir dann ne Mail mit denen. Läuft bei mir täglich, ist jedoch einstellbar und die Größe könnte man anpassen. Hab das Script hier zu Hause leider nicht da, war aber ganz einfach. Bin nicht so der Script-Freak und bekomm das auf die Schnelle jetzt nicht hin, aber Script-Könner gibt es hier viele und eventuell antwortet ja einer von denen.
Re: /var/log volllaufen verhindern
Ne, hatte ich ja geschrieben. Andere Partition/LVM anlegen geht auf der maschine nicht mehr. Sonst wäre das für mich das mittel der wahl gewesennoobadix hat geschrieben:So als Überlegung: Können vielleicht mittels Links oder so die zu schreibenden log-Informationen auf einen Ort umgeleitet werden, der genügend Speicherplatz zur Verfügung hat?
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
Das kann aber logrote selbst. Und sogar per Mail verschicken.pferdefreund hat geschrieben:Ich hab mir mal da ein Script gebastelt auf der maloche. Der durchsucht /var/log nach Dateien > 1Mb und schickt mir dann ne Mail mit denen. Läuft bei mir täglich, ist jedoch einstellbar und die Größe könnte man anpassen. Hab das Script hier zu Hause leider nicht da, war aber ganz einfach. Bin nicht so der Script-Freak und bekomm das auf die Schnelle jetzt nicht hin, aber Script-Könner gibt es hier viele und eventuell antwortet ja einer von denen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: /var/log volllaufen verhindern
Mag sein - aber ich bastel gerne und will auch was lernen. Außerdem ist bei mir kein cron aktiv - ich verwende eine selbstgeschriebene komplette Jobverwaltung ala UC/4 oder Jobtrack - geschrieben in OpenCobol. Die habe ich auch auf der Arbeit für meinen Produktiv-Server im Einsatz und da hat das prima gepasst. Cobol rocks.
Re: /var/log volllaufen verhindern
mh das ist übrigens eigentlich nur ein einzeiler im cron:pferdefreund hat geschrieben:Ich hab mir mal da ein Script gebastelt auf der maloche. Der durchsucht /var/log nach Dateien > 1Mb und schickt mir dann ne Mail mit denen. Läuft bei mir täglich, ist jedoch einstellbar und die Größe könnte man anpassen. Hab das Script hier zu Hause leider nicht da, war aber ganz einfach. Bin nicht so der Script-Freak und bekomm das auf die Schnelle jetzt nicht hin, aber Script-Könner gibt es hier viele und eventuell antwortet ja einer von denen.
Code: Alles auswählen
23 2 * * * find /var/log -type f -size +1M -printf "%f\t\t Size %s bytes, Last Access %A+\n"
Anstatt %A geht auch %T wenn man die letzte Modifikation zugesendet haben will. Bei logfiles schätze ich aber mal wird %A == %T sein, außer man mounted die filesystems mit noatime
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
logrote hat doch seine eigenen Konfiurationsdateien.
Ansonsten man logrotate
- /etc/logrote.conf
/etc/logrotate.d
Ansonsten man logrotate
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: /var/log volllaufen verhindern
Ja, na ich kenn logrotate php loggt bei mir scheinbar die error in den syslog, also hab ich den jetzt auf stündlich aufgedreht. Bis jetzt ist mal ruhe.KBDCALLS hat geschrieben:logrote hat doch seine eigenen Konfiurationsdateien.
- /etc/logrote.conf
/etc/logrotate.d
Ansonsten man logrotate
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
In der php.ini gibts eine Zeile
Semikolon entfernen und dann sollte der Spuk vorbei sein.
Code: Alles auswählen
;error_log = php_errors.log
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: /var/log volllaufen verhindern
MitKBDCALLS hat geschrieben:In der php.ini gibts eine Zeile
Semikolon entfernen und dann sollte der Spuk vorbei sein.Code: Alles auswählen
;error_log = php_errors.log
Code: Alles auswählen
error_log = /dev/null
Use ed once in a while!
Re: /var/log volllaufen verhindern
also ganz löschen würde ich es nicht. Denn falls mal wieder sowas ist, will ich ja wissen was da amok gelaufen ist.
Oft haben mir die Logfiles die ein paar Tage alt sind schon geholfen irgendwelche Probleme zu rekonstruieren.
Oft haben mir die Logfiles die ein paar Tage alt sind schon geholfen irgendwelche Probleme zu rekonstruieren.
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: /var/log volllaufen verhindern
Das wäre die ulimative und radikalste Methode.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.