Die Leistung einer Computer- oder Serverumgebung hängt stark von der Systemspeicher- und Festplattennutzung ab. Wenn etwas mehr Speicherplatz verbraucht, führt dies zu einem Systemfehler. Ebenso muss die Erhöhung der Protokolldateigröße kontrolliert werden, um dieses Risiko zu verringern.
Logrotate wurde als Systemdienstprogramm eingeführt, das die Protokolldateien rotiert, komprimiert und Systemprotokolle verschickt. Eine solche Verwaltung von Protokolldateien reduziert die Speicherplatznutzung und verhindert Systemfehler.
In diesem Artikel werden wir den Installationsprozess und die Konfiguration von logrotate auf dem Ubuntu 20.04 LTS-Server besprechen.
Installation von Logrotate auf Ubuntu 20.04-Server
Auf Ubuntu ist logrotate standardmäßig installiert, aber falls es nicht installiert ist, können Sie es mit dem unten gezeigten Befehl installieren.
$ sudo apt update $ sudo apt install logrotate
Sie können die Installation mit dem unten gezeigten Befehl bestätigen.
$ logrotate --version
Die Logrotate-Konfigurationsdateien
Die Konfigurationsdatei für logrotate wird vom logrotate-Daemon erstellt. Es gibt zwei Pfade für eine solche Konfiguration, wie unten gezeigt.
/etc/logrotate.conf
Es ist die Konfigurationsdatei, die im Allgemeinen für das Dienstprogramm logrotate erstellt wird
/etc/logrotate.d/
Es ist das Verzeichnis, das aus der spezifischen Rotation der Anwendungen besteht. Standardmäßig wird /etc/logrotate.conf verwendet, aber damit jede Anwendung eine andere Konfiguration hat, kann sie auf /etc/logrotate.d/ gesetzt werden.
Die Standard-Logrotate-Konfigurationsdatei
Wie Sie wissen, ist /etc/logrotate.conf ist die Standardkonfigurationsdatei. Lassen Sie uns die Konfigurationsdatei überprüfen, wie im Screenshot unten gezeigt.
Überprüfen Sie die Konfigurationsdatei mit dem unten gezeigten Befehl.
$ cat /etc/logrotate.conf
Ausgabe:
Konfiguration für eine bestimmte Anwendung
Auf dem obigen Screenshot gibt es eine Konfiguration wie include /etc/logrotate.d Das bedeutet, dass die Konfiguration für bestimmte Anwendungen in diesem Verzeichnis festgelegt werden kann. Hier zeigen wir die Konfiguration für dpkg wie unten gezeigt.
$ cd /etc/logrotate.d/
$ cat dpkg
Um Details zu jeder Konfigurationslinie zu erhalten, überprüfen Sie die unten besprochenen Punkte. Diese Konfigurationen ersetzen die Standardkonfiguration von /etc/logrotate.conf für bestimmte Anwendungen wie dpkg.
- monatlich:Rotieren Sie einmal im Monat. Sie können es je nach Bedarf durch täglich oder wöchentlich ersetzen.
- rotate 12:Zwölf alte Protokolldateien werden beibehalten. Es ersetzt die Standardeinstellung 4 in /etc/logrotate.conf
- komprimieren:Protokolldateien für diese Anwendung werden mit gzip komprimiert
- delaycompress:Die Komprimierung der vorherigen Protokolldatei auf den nächsten Rotationszyklus wird verschoben, da sie noch von irgendeinem Programm verwendet wird.
- missingok:Keine Fehlermeldung schreiben, wenn die Logdatei fehlt
- notifempty:Protokolldatei nicht rotieren, wenn sie leer ist
- create 644 root root:Protokolldatei wird mit Berechtigung 644 erstellt, mit Benutzer und Gruppe als root
Logrotate-Konfigurationsdatei erstellen
Angenommen, Sie haben eine Anwendung wie nginx installiert und ihre Protokolldatei wird unter /var/log/nginx/ erstellt dann können Sie mit dem unten gezeigten Befehl eine Logrotate-Konfigurationsdatei für diese spezielle App einrichten.
Navigieren Sie zum logrotate-Verzeichnis
$ cd /etc/logorate.d/
Erstellen Sie eine Logrotate-Datei mit dem Editor
$ vim nginx
/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate invoke-rc.d nginx rotate >/dev/null 2>&1 endscript }
In der obigen Konfiguration haben wir die Rotation auf 14 eingestellt, sodass 14 alte Protokolldateien aufbewahrt werden und die Protokolldatei mit gzip komprimiert wird. Eine weitere Konfiguration, die in der obigen Datei verwendet wird, wird fast im Abschnitt über die Logrotate-Konfigurationsdatei erklärt. Sie können die neu erstellte Konfiguration mit dem sudo-privilegierten Benutzer wie unten gezeigt ausführen.
$ sudo logrotate -d /etc/logrotate.d/nginx
Dabei werden Logfiles wie im Screenshot unten gezeigt ausgeführt.
Logrotate mit Cron
Während der Installation des logrotate-Pakets wird auch eine crontab-Datei im Prozess in /etc/cron.daily erstellt mit dem Namen logrotate. Überprüfen Sie den Screenshot wie unten gezeigt für weitere Details.
$ cat /etc/cron.daily/logrotate
Schlussfolgerung
In diesem Artikel haben Sie gelernt, wie Sie das Paket logrotate installieren und die standardmäßige und spezifische Anwendungskonfigurationsdatei für logrotate mit der Implementierung von crontab überprüfen. Vielen Dank!