Abdussamad.com

CentOSViele Daemons, die in CentOS Linux laufen, erzeugen ihre eigenen Log-Dateien. Diese Logdateien enthalten hilfreiche Meldungen, die den Betrieb dieser Daemons betreffen. Zum Beispiel Fehlermeldungen, die bei der Diagnose von Problemen mit dem System helfen. Mit der Zeit müssen diese Protokolldateien rotiert werden, damit sie einfacher zu verwalten sind. Logrotation ist der Prozess der Aufteilung großer Logdateien und der Archivierung alter Logdateien für zukünftige Referenzen. In CentOS ist ein Programm namens logrotate für die Rotation von Logdateien zuständig. In diesem Beitrag schaue ich mir an, wie man den Betrieb von logrotate anpassen kann.

Logrotate ausführen

logrotate wird täglich von cron über die Datei /etc/cron.daily/logrotate ausgeführt. In CentOS 5.x ist cron für die Ausführung von System-Cron-Jobs wie logrotate zuständig. Es kann durch Editieren von /etc/crontab konfiguriert werden.

In CentOS 6.x ist anacron standardmäßig installiert und ist für die Ausführung von System-Cron-Jobs zuständig.

logrotate.conf

logrotate.conf befindet sich in /etc/ und enthält die standardmäßige systemweite Konfiguration für logrotate. Standardmäßig rotiert logrotate unter CentOS die Protokolle wöchentlich und hält einen Rückstand von 4 Wochen. Sie können logrotate.conf anpassen, aber es ist normalerweise besser, die Logrotationskonfiguration der einzelnen Daemons in /etc/logrotate.d/

/etc/logrotate.d/

Dieses Verzeichnis enthält Logrotationsdateien für verschiedene Dienste, die auf dem System laufen.

Eine typische Datei in diesem Verzeichnis ist diese für Apache ( /etc/logrotate.d/httpd ):

/var/log/httpd/*log { missingok monthly notifempty sharedscripts postrotate /sbin/service httpd reload > /dev/null 2> /dev/null || true endscript}

Die erste Zeile ist ein regulärer Ausdruck, der auf die Log-Dateien passt. In diesem Fall alle Dateien, die auf „log“ enden und sich im Verzeichnis /var/log/httpd befinden.

Dann stehen innerhalb der öffnenden und schließenden Klammern die Optionen für die Log-Rotation für die Dateien dieses Daemons. Im obigen Fall haben Sie eine monatliche Rotation konfiguriert.

Optionen für logrotate

Einige der Optionen, die Sie in die Datei logrotate.conf oder in die Protokollrotationsdateien der einzelnen Daemons in /etc/logrotate.d/ aufnehmen können, sind:

  • rotate: Geben Sie die Anzahl der Backlogs an, die mit der Option rotate aufbewahrt werden sollen. Zum Beispiel wird „rotate 5“ 5 alte Protokolldateien aufbewahren.
  • compress: Komprimiert die alten Protokolldateien, um Speicherplatz zu sparen.
  • Täglich, wöchentlich, monatlich oder jährlich: Rotiert die Protokolle nach Ablauf des angegebenen Zeitraums.
  • size: Geben Sie die Größe der Protokolldatei an, die die Rotation auslösen soll. Zum Beispiel „Größe 50M“ rotiert die Protokolldatei, wenn sie 50MB oder größer ist. Sie können das Präfix M für Megabytes, k für Kilobytes und G für Gigabytes verwenden. Wenn kein Präfix verwendet wird, steht es für Bytes.
  • minsize: Dies ist wie Größe, außer dass es auch den Zeitraum berücksichtigt (monatlich, wöchentlich usw.). Die Protokolldateien werden also nur rotiert, wenn der Zeitraum erreicht ist UND die Protokolldateien größer als die angegebene minsize sind.
  • prerotate und postrotate: Diese geben Befehle an, die Sie vor und nach der Protokollrotation ausführen können. Zum Beispiel das Neustarten des Daemons nach der Log-Rotation.

Die vollständige Liste der verfügbaren Optionen finden Sie in der man-Datei logrotate.conf ( man logrotate.conf auf CentOS ).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.