wiki:dienste:logrotate

barcode

Wie verhindert man, dass die Log-Files die komplette Festplatte zumüllen?

Zu diesem Zweck gibt es Logrotate. Logrotate rotiert, komprimiert und verschickt Logfiles per Mail.

Dateien

/etc/logrotate.confAllgemeine Anweisungen, die global gelten. Hier werden alle Dateine aus dem Verzeichnis /etc/logrotate.d/ included
/etc/logratate.d/Logfilespezifische Anweisungen

Konfiguration

Konfiguriert wird dieser Dienst mit allen Dateien, die in /etc/logrotate.d/ stehen. Der Syntax dieser Dateien ist grundsätzlich folgender:

"Logdatei" {
<Anweisungen>
}

Dabei gilt, dass die Anweisungen von oben nach unten ausgeführt werden.

Die Anweisungen können wie folgt sein:

AnweisungBeschreibung
compressRotierte Logfiles werden gepackt.
compresscmdBestimmt das Betriebssystemkommando, mit dem die rotierten Logfiles gepackt werden sollen. Als Standard wird gzip verwendet.
uncompresscmdBestimmt das Betriebssystemkommando, mit dem die rotierten Logfiles wieder ausgepackt werden sollen. Als Standard wird gunzip verwendet.
compressextDefiniert die Dateinamenserweiterung der komprimierten Dateien. Als Standard wird die Dateinamenserweiterung des verwendeten Komprimierungsprogrammes verwendet.
compressoptionOptionale Parameter für das Komprimierungsprogramm.
copytruncateDiese Option schneidet das originale Logfile ab, nach dem es kopiert wurde. Normalerweise wird das alte Logfile umbenannt und ein neues erstellt. Da es aber Applikationen gibt, die nicht dazu gezwungen werden können, ihr Logfile zu schließen, wurde diese alternative Möglichkeit geschaffen. Es kann bei diesem Vorgehen passieren, das einige Daten verloren gehen könnten. Außerdem hat die create - Direktive keine Wirkung mehr.
create {Modus} {Benutzer} {Gruppe}Direkt nach dem rotieren der Log-Datei werden die Dateiattribute entsprechend den Vorgaben gesetzt.
dailyDie Logfiles werden täglich gesichert.
dateextArchivierte Version erhalten einen Datumsstempel anstatt einer laufenden Nummer.
delaycompressMit dieser Option wird die zuletzt rotierte version nicht sofort komprimiert, sondern immer erst im nächsten Rotationszyklus.
extension {ext}Die rotierten Logfiles erhalten die entsprechende Dateinamenserweiterung. An diese Erweiterung wird aber noch ggf. die Erweiterung des Komprimierungsprogrammes angehängt.
ifemptyRotiert das Logfile auch dann, wenn es leer ist. (Standardeinstellung)
include {datei_oder_verzeichnis}Bindet die angegebene Konfigurationsdatei ein. Handelt es sich dabei um ein Verzeichnis, so werden alle in diesem Verzeichnis vorhandenen Dateien eingelesen.
mail {Adresse}Soll ein Logfile gelöscht werden, weil es die älteste Version ist (siehe bei rotate), so wird diese Datei zur angegebenen e-Mail Adresse versendet.
mailfirstDieser Parameter macht nur in Verbindung mit dem Parameter mail Sinn. An Stelle der zu löschenden Datei, wird die gerade erstellte Datei verschickt.
maillastDieser Parameter macht nur in Verbindung mit dem Parameter mail Sinn. An Stelle der gerade erstellte Datei wird die zu löschende Datei verschickt. (Standardeinstellung)
maxage {Anzahl}Löscht rotierte Logdateien nach der entsprechenden Anzahl von Tagen.
missingokWenn das Logfile nicht vorhanden ist, dann wird keine Fehlermeldung erzeugt und mit der Verarbeitung fortgefahren.
monthlyMonatliches rotieren der Logdateien.
nocompressDie rotierten Logdateien werden nicht komprimiert.
nocopytruncateDas entsprechende Logfile wird nach dem Kopieren nicht abgeschnitten. Die Option copytruncate wird damit überschrieben!
nocreateNeue Logdateien werden nach dem Verschieben nicht wieder erstellt. Die Option create wird damit überschrieben!
nodelaycompressRotierte Logdateien werden sofort komprimiert. Die Option delaycompress wird damit überschrieben!
nomailEs werden keine Logfiles als e-Mail versandt.
nomissingokWenn das Logfile nicht vorhanden ist, dann wird eine Fehlermeldung erzeugt. (Standardeinstellung)
noolddirDie rotierten Logdateien werden normalerweise in dem gleichen Verzeichnis abgelegt.
nosharedscriptsStartet Scripte unter den Optionen prerotate und postrotate für jede angegebene Logdatei. (Dieses ist die Standardeinstellung und überschreibt die Option sharedscript.
notifemptyEin leeres Logfile wird nicht rotiert. Die Option ifempty wird damit überschrieben!
olddir {Verzeichnis}Alle rotierten Dateien werden in dem angegebenen Verzeichnis abgelegt. Es muß sich aber auf der gleichen Festplatte befinden.
postrotate / endscriptDie Betriebssystemkommandos zwischen postrotate und endscript werden nach dem Rotieren des Logfiles ausgeführt. Die beiden Parameter müssen in einer eigenen Zeile stehen.
prerotate / endscriptDie Betriebssystemkommandos zwischen prerotate und endscript werden vor dem Rotieren des Logfiles ausgeführt. Die beiden Parameter müssen in einer eigenen Zeile stehen.
rotate {Anzahl}Diese Option bestimmt die Anzahl der verfügbar gehaltenen rotierten Dateien.
size {Größe}Logfiles werden rotiert, wenn sie die angebene Größe in Bytes überschreiten. (100000 bedeutet 100000 Bytes, 100k bedeutet 100 KiloBytes und 10M bedeutet 10 MegaBytes)
sharedscriptNormalerweiser werden die unter prerotate und postrotate definierten Prozeduren für jede einzelne Logdatei ausgeführt. Mit dieser Option werden diese Prozeduren aber nur einmal ausgeführt.
weeklyWöchentliches rotieren der Logdateien.

Beispiele

/var/log/vsftpd.log {
        weekly
        rotate 4
        compress
        notifempty
        missingok

Die Datei „/var/log/vsftpd.log“ soll behandelt werden

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
   _  __   ____  _   __   __ __   ____
  / |/ /  / __/ | | / /  / // /  /  _/
 /    /  / _/   | |/ /  / _  /  _/ /  
/_/|_/  /_/     |___/  /_//_/  /___/
 
  • wiki/dienste/logrotate.txt
  • Zuletzt geändert: 2013/10/15 16:08
  • von wikiadmin