Wie man Logrotate installiert und verwendet, um Logdateien in Ubuntu 18.04 LTS zu verwalten
Protokolldateien sind für die Sicherheit von Linux-Systemen am wichtigsten. Das Logrotate-Tool wurde speziell entwickelt, um die Verwaltung von Protokolldateien auf einem Linux-System zu vereinfachen, das eine automatische Drehung, Komprimierung, Entfernung und den Versand von Protokolldateien ermöglicht. Sie können logrotate ganz einfach so einstellen, dass es eine Logdatei täglich, wöchentlich, monatlich verarbeitet. Das Programm logrotate, mit dem Protokolldateien gedreht werden, indem die ältesten aus Ihrem System entfernt und neue Protokolldateien erstellt werden.
In diesem Tutorial werde ich erklären, wie man logrotate verwendet, um Logs auf dem Ubuntu 18.04 Server zu verwalten.
Anforderungen
- Ein Server mit Ubuntu 18.04 Server.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Logrotate installieren
Standardmäßig ist logrotate auf dem Ubuntu 18.04 LTS-Server verfügbar. Wenn nicht, dann können Sie es installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install logrotate -y
Nachdem das Logrotate installiert wurde, können Sie die Version von Logrotate mit dem folgenden Befehl überprüfen:
sudo logrotate
Output:
logrotate 3.11.0 - Copyright (C) 1995-2001 Red Hat, Inc. This may be freely redistributed under the terms of the GNU Public License Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail=command] [-s|--state=statefile] [-v|--verbose] [-l|--log=STRING] [--version] [-?|--help] [--usage] [OPTION...]
Logrotate konfigurieren
Standardmäßig befindet sich die Hauptkonfigurationsdatei logrotate.conf von logrotate unter /etc/logrotate.conf. Andere Konfigurationsdateien sind unter /etc/logrotate.d verfügbar. Sie können sie mit dem folgenden Befehl auslisten:
ls /etc/logrotate.d
Output:
alternatives apport dpkg mysql-server rsyslog unattended-upgrades apache2 apt lxd openproject ufw
Die wichtigsten Optionen von logrotate sind unten aufgeführt:
missingok : Liefert keinen Fehler, wenn das Protokoll fehlt.
wöchentlich: dreht die Logdateien einmal pro Woche.
erstellen: Die alte Datei wird unter einem neuen Namen gespeichert und eine neue Datei wird erstellt.
Komprimieren: Logrotate komprimiert Logdateien mit gzip, um Platz zu sparen.
4 rotieren: logrotate rotiert ein bestimmtes Protokoll viermal, bevor es gelöscht wird, so dass vier Wochen lang Protokolle online bleiben.
notifyempty: Drehen Sie die Protokolldatei nicht, wenn sie leer ist.
Standardmäßig wird logrotate täglich ausgeführt, indem das Shell-Skript /etc/cron.daily/logrotate ausgeführt wird. Lassen Sie uns die Logrotation des Apache testen, indem wir den folgenden Befehl ausführen:
sudo logrotate -d /etc/logrotate.d/apache2
Output:
reading config file /etc/logrotate.d/apache2 Reading state from file: /var/lib/logrotate/status Allocating hash table for state file, size 64 entries Handling 1 logs rotating pattern: /var/log/apache2/*.log after 1 days (14 rotations) empty log files are not rotated, old logs are removed considering log /var/log/apache2/access.log Creating new state Now: 2018-10-11 16:04 Last rotated at 2018-10-11 16:00 log does not need rotating (log has been already rotated) considering log /var/log/apache2/error.log Creating new state Now: 2018-10-11 16:04 Last rotated at 2018-10-11 16:00 log does not need rotating (log has been already rotated) considering log /var/log/apache2/other_vhosts_access.log Creating new state Now: 2018-10-11 16:04 Last rotated at 2018-10-11 16:00 log does not need rotating (log has been already rotated) not running prerotate script, since no logs will be rotated not running postrotate script, since no logs were rotated
Standardmäßig wird logrotate als täglicher Cron-Job ausgeführt. Du kannst /etc/cron.daily/logrotate für weitere Informationen über cron job überprüfen. Sie können den cron-Job auch so konfigurieren, dass logrotate stündlich, wöchentlich und jährlich läuft.