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.

Das könnte dich auch interessieren …