Beispiele für Linux-Logrotate

Beispiele Fur Linux Logrotate



Protokollinformationen sind ein sehr wichtiger Bestandteil jedes Betriebssystems, um das Problem einer laufenden Anwendung zu diagnostizieren, und die Protokolleinträge helfen dabei, die Lösung des Problems herauszufinden. Die meisten Anwendungen des Linux-Betriebssystems generieren das Protokoll und der Systemadministrator erhält die erforderlichen Informationen über die Anwendung aus den Protokolleinträgen. Allerdings verursachen die Protokolleinträge manchmal Probleme, da die Größe der Einträge mit der Zeit größer wird. Daher sind die Protokolleinträge zur Verwaltung erforderlich.

Logrotate ist ein Befehlszeilentool von Linux zum Verwalten der Protokolleinträge. Dieses Tool hilft dem Administrator dabei, verschiedene Arten von Aufgaben an Protokolleinträgen auszuführen, z. B. die rotierten Protokolldateien einzuschränken, die rotierten Protokolldateien zu komprimieren, unnötige Protokolldateien zu löschen, das jeweilige Shell-Skript basierend auf den Protokolldateien auszuführen usw. Die Verwendungsmöglichkeiten Die Funktionsweise des Befehls „logrorate“ zur Verwaltung der Protokolldateien auf unterschiedliche Weise wird in diesem Tutorial anhand mehrerer Beispiele gezeigt.

Überprüfen Sie die installierte Logrotate-Version

Der Befehl „logrotate“ ist in der neuen Version des Ubuntu-Betriebssystems standardmäßig installiert. Führen Sie den folgenden Befehl aus, um die installierte Version des Befehls „logrotate“ zu überprüfen:







$ logrotieren --Ausführung



Die Protokolleinträge der verschiedenen Anwendungen werden standardmäßig im Ordner „/var/log“ gespeichert. Der folgende ähnliche Inhalt wird angezeigt, wenn Sie den Inhalt des Ordners überprüfen.



$ ls / War / Protokoll





Legen Sie die „Logrotate“-Konfiguration fest

Einstellungswert Zweck
täglich/wöchentlich/monatlich/jährlich Es definiert die Zeitdauer zum Rotieren der Protokolle.
Zahl drehen Es definiert die Anzahl der Dateien, die aufbewahrt werden, bevor die alten Protokolldateien entfernt werden.
Kompresse Es wird zum Komprimieren der Protokolldateien verwendet.
compresscmd Es wird verwendet, um den Befehl „komprimieren“ festzulegen. gzip ist der Standardbefehl.
uncompresscmd Es wird verwendet, um den Befehl „Unkomprimieren“ festzulegen. Der gunzip ist der Standardbefehl.
Verzögerungskomprimieren Es wird verwendet, um den Komprimierungsprozess der Protokolldateien zu verzögern.
Benachrichtigung leer Es wird verwendet, um die leere Datei nicht zu drehen.
ich vermisse Wenn es gesetzt ist, wird kein Fehler für die fehlenden Protokolldateien generiert.
Größe Es wird verwendet, um das Limit festzulegen, mit dem die Protokolldateien rotiert werden sollen.
dateext Es wird verwendet, um einen Datumswert als Suffix der Rotationsdatei hinzuzufügen.
kopieren, abschneiden Es wird verwendet, um eine Kopie der Originaldatei zu erstellen.
vorgedreht Es wird verwendet, um ein Skript auszuführen, bevor die Protokolldateien rotiert werden.
nachrotieren Es wird verwendet, um nach dem Rotieren der Protokolldateien ein Skript auszuführen.
erstellen Es wird verwendet, um die Protokolldateien mit Root-Rechten zu erstellen.

Syntax:

Die Syntax des Befehls „logrotate“ lautet wie folgt:



logrotieren [ MÖGLICHKEIT ] config_file_path

Mit dem Befehl „logrotate“ können verschiedene Arten von Optionen für unterschiedliche Zwecke verwendet werden.

Logrotate-Optionen

Im Folgenden werden einige nützliche Optionen des Befehls „logrotate“ erwähnt:

-f, –force Es wird verwendet, um die Drehung bei Bedarf kraftvoll auszuführen.
-d, –debug Es wird verwendet, um den Debug-Modus während der Rotation zu aktivieren.
-m, –mail Es wird verwendet, um während der Rotation eine E-Mail zu versenden.
-s, –state Es wird für alternative Statusdateien verwendet.
-Verwendung Es dient zum Ausdrucken der Nutzungsinformationen.
-?, -helfen Es wird zum Drucken der Hilfsnachrichten verwendet.
-v, –ausführlich Es wird zum Drucken im ausführlichen Modus verwendet.

Logrotate-Konfigurationsdatei

Die Hauptkonfigurationsdatei von Logrotate befindet sich am Speicherort „/etc/logrotate.conf“. Führen Sie den folgenden Befehl aus, um die Datei im Nano-Editor zu öffnen:

$ Nano / usw / logrotate.conf

Die Standardeinstellung des Befehls „logrotate“ wird in der Datei „logrotate.conf“ angezeigt. Die „include“-Direktive wird in der Datei verwendet, um die Konfiguration abzurufen, die sich im Verzeichnis „/etc/logrotate.d“ befindet.

Beispiel 1: Erstellen Sie eine einfache Logrotate-Konfigurationsdatei

Erstellen Sie eine Beispielprotokolldatei mit dem Namen „/var/log/test.log“ mit den Beispielprotokolldaten. Führen Sie den folgenden Befehl aus, um den Nano-Editor zu öffnen und eine neue Datei „logrotate.conf“ im Ordner „/etc/tmp“ zu erstellen. Erstellen Sie den Ordner „/tmp“ mit Root-Rechten, falls er noch nicht erstellt wurde.

$ Nano / usw / tmp / logrotate.conf

Fügen Sie der Datei „/var/log/test.log“ den folgenden Inhalt hinzu. Je nach Einstellung wird die Datei „test.log“ täglich rotiert, wenn die Dateigröße 5 KB überschreitet:

/ War / Protokoll / test.log {

täglich

Größe 5K

sein Root-Adm

}

Führen Sie den folgenden Befehl aus, um die Größe der Protokolldatei zu überprüfen:

$ ls -l / War / Protokoll / test.log

Führen Sie den Befehl „logrotate“ aus, nachdem Sie die Konfigurationsdatei erstellt haben.

$ Sudo logrotieren / usw / tmp / logrotate.conf

Führen Sie den folgenden Befehl erneut aus, um die Größe der Protokolldatei nach der Ausführung des Befehls „logrotate“ zu überprüfen:

$ ls -l / War / Protokoll / test.log

Die Größe der Datei „test.log“ beträgt 1 KB+. Es erfolgt also keine Rotation basierend auf der Konfigurationseinstellung.

Ändern Sie den Größenwert in der Datei „/etc/tmp/logrotate.conf“ auf 1K und führen Sie den Befehl „ls“ erneut aus, um die Dateigröße von „/var/log/test.log“ zu überprüfen. Der Ausgabe zufolge wird die Protokolldatei rotiert und gelöscht, da die Größenbeschränkung überschritten wurde.

Beispiel 2: Verwendung von Logrotate Copytruncate

Erstellen oder ändern Sie die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen, um die Verwendung von copytruncate anzuzeigen. Gemäß den neuen Einstellungen erstellt Logrotate eine Kopie der Originaldatei, indem die ursprüngliche Dateigröße auf Null gesetzt wird.

/ War / Protokoll / test.log {

drehen 5

Größe 1 k

kopieren, abschneiden

sein Root-Adm

}

Führen Sie den folgenden Befehl aus, um die Größe der Datei „test.log“ zu überprüfen:

$ ls -l / War / Protokoll / test.log

Führen Sie den Befehl „logrotate“ aus, nachdem Sie die Konfigurationsdatei erstellt haben.

$ Sudo logrotieren / usw / tmp / logrotate.conf

Führen Sie den folgenden Befehl erneut aus, um die Größe der Datei „test.log“ zu überprüfen, nachdem Sie den Befehl „logrotate“ ausgeführt haben:

$ ls -l / War / Protokoll / test.log

Die ursprüngliche Dateigröße wird 0, nachdem der Befehl „logrotate“ für die Einstellung „copytruncate“ ausgeführt wurde.

Beispiel 3: Verwendung von Logrotate Compress

Erstellen oder ändern Sie die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen, um die Verwendung der Komprimierung anzuzeigen. Gemäß den neuen Einstellungen erstellt Logrotate eine Komprimierungsdatei der Originaldatei.

/ War / Protokoll / test.log {

drehen 5

Größe 1 k

Kompresse

erstellen 770 Root-Adm

}

Führen Sie den folgenden Befehl aus, um die Liste der Dateien und Ordner von „/var/log“ zu überprüfen:

$ ls / War / Protokoll /

Führen Sie den Befehl „logrotate“ aus, nachdem Sie die Konfigurationsdatei erstellt haben.

$ Sudo logrotieren / usw / tmp / logrotate.conf

Führen Sie den folgenden Befehl erneut aus, um die Liste der Dateien und Ordner von „/var/log“ zu überprüfen:

$ ls / War / Protokoll /

Die komprimierte Datei der Datei „test.log“ wird mit dem Namen „test.log.1.gz“ erstellt und die Originaldatei entfernt.

Beispiel 4: Verwendung von Logrotate Dateext

Erstellen oder ändern Sie die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen, um die Verwendung von dateext anzuzeigen. Gemäß den neuen Einstellungen erstellt logrotate eine Komprimierungsdatei der Originaldatei mit dem Datumswert.

War / Protokoll / test.log {

sein Root-Adm

drehen 5

Größe 1 k

Kompresse

erstellen 770 Root-Adm

dateext

}

Führen Sie den Befehl „logrotate“ aus, nachdem Sie die Konfigurationsdatei erstellt haben.

$ Sudo logrotieren / usw / tmp / logrotate.conf

Führen Sie den folgenden Befehl aus, um die Liste der Dateien und Ordner von „/var/log“ zu überprüfen:

$ ls -l / War / Protokoll /

Die komprimierte Datei der Datei „test.log“ wird mit dem Namen „test.log.20240129.gz“ erstellt und die Originaldatei entfernt.

Beispiel 5: Verwendung von Logrotate Maxage

Erstellen oder ändern Sie die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen, um die Verwendung von maxage anzuzeigen. Gemäß den Einstellungen behält logrotate fünf Protokolleinträge, wenn die Größe der Protokolldatei nach einem Tag 1 KB überschreitet.

/ War / Protokoll / test.log {

sein Root-Adm

drehen 5

Größe 1 k

Kompresse

maxage 1

}

Führen Sie den folgenden „logrotate“-Befehl aus, um die Ausgabe in einer anderen Protokolldatei namens „out.log“ zu speichern:

$ Sudo logrotieren -S = / War / Protokoll / out.log / usw / tmp / logrotate.conf

Gemäß der folgenden Ausgabe wird die Datei „out.log“ nach Ausführung des Befehls „logrotate“ erstellt:

Beispiel 6: Verwendung von Logrotate Missingok

Erstellen oder ändern Sie die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen. Hier existiert die Protokolldatei „testfile.log“ nicht im Ordner „/var/log“.

/ War / Protokoll / testfile.log {

sein Root-Adm

drehen 5

Größe 1 k

Kompresse

}

Nach der Ausführung des Befehls „logrotate“ wird eine Fehlermeldung ausgegeben.

Fügen Sie die Einstellung „missingok“ in der Logrotate-Konfigurationsdatei hinzu und führen Sie den Befehl „logrotate“ erneut aus. Für die fehlende Protokolldatei wird kein Fehler ausgegeben.

Beispiel 7: Verwendung von Logrotate Prerotate

Erstellen Sie mit dem folgenden Skript eine Bash-Datei namens „test.sh“, die eine einfache Nachricht ausgibt. Die Datei wird in diesem Logrotate-Beispiel verwendet, um die Verwendung von Prerotate in der Logrotate-Konfigurationsdatei zu zeigen.

test.sh



#!/bin/bash

Echo „Logrotate-Beispiele…“

Führen Sie nach dem Erstellen der Datei den folgenden Befehl aus, um die Ausführungsberechtigung dieser Datei für alle Benutzer festzulegen:

$ chmod a+x / heim / Verständnis / test.sh

Erstellen oder ändern Sie nun die Datei „/etc/tmp/logrotate.conf“ mit den folgenden Einstellungen. Gemäß den Einstellungen behält logrotate fünf Protokolleinträge bei, wenn die Größe der Protokolldatei 1 KB überschreitet und die Datei „test.sh“ vor der Rotation ausgeführt wird.

/ War / Protokoll / test.log {

sein Root-Adm

drehen 5

Größe 1 k

vorgedreht

/ heim / Verständnis / test.sh

Endskript

}

Die Ausgabe der Datei „test.sh“ wird nach Ausführung des Befehls „logrotate“ angezeigt:

Abschluss

Die verschiedenen Einsatzmöglichkeiten des Befehls „logrotate“ werden in diesem Tutorial anhand mehrerer Beispiele gezeigt, die dem Linux-Benutzer helfen, die Einsatzmöglichkeiten des Befehls zu kennen und die Protokolldateien richtig zu verwalten.