Logfiles in Logrotate aufnehmen - automatisches packen, rotieren und leeren von Logs: Unterschied zwischen den Versionen
Aus znilwiki
BLinz2 (Diskussion | Beiträge) K (Textersetzung - „<comments>“ durch „<comments />“) |
(kein Unterschied)
|
Aktuelle Version vom 6. August 2017, 20:51 Uhr
Nicht jedes Log wird automatisch "gewartet". Damit meine ich
- Aufbewahren einer bestimmten Anzahl von Logs, z.B. die letzten 5
- Regelmäßiges erzeugen einer neuen Log-Datei, "leeren" der alten Datei
Das ganze soll dem Zweck dienen das z.B. eine Festplatte nicht durch Logs vollläuft.
Unter Ubuntu kann das der Befehl
logrotate
den Ihr ggf. über ein
apt-get install logrotate
nachinstallieren müsst.
Um ein neues Logfile in die Rotation aufzunehmen bearbeiten wir die Konfigurationsdatei:
nano /etc/logrotate.conf
Und fügen unseren Wunsch am Ende an.
Nachfolgend schalte ich die Rotation für die Datei /var/log/mysql/slow-query.log
ein:
# system-specific logs may be configured here /var/log/mysql/slow-queries.log { weekly rotate 4 compress delaycompress missingok notifempty create 660 mysql adm }
Die möglichen Werte sind (nur die wichtigsten):
hourly / daily / weekly / monthly : Wie oft? stündlich / täglich / wöchentlich compress : Alte Log-Dateien komprimieren delaycompress : Nur wirksam mit compress, schliesst das jeweils letzte Log aus der Kompression aus (so das man es noch direkt ansehen kann) dateext : Hängt an die alten Logs ein JJJJMMTT mit dem Datum an missingok : Auch bei fehlern (z.B. Datei nicht vorhanden) weitermachen notifempty : Rotiert nur wenn die Datei nicht leer ist rotate : Anzhal der Logdateien die behalten werden sollen create 660 mysql adm : mit welchem Rechten und Besitzer + Gruppe soll die Datei neu erstellt werden?
weitere Parameter auch unter
man logrotate
Nun müsste man abwarten bis logrotate unsere Datei abarbeitet ... oder wenn wir ungeduldig sind lassen wir es sofort seine arbeit tun:
logrotate -f /etc/logrotate.conf
Zum einen können wir es nun an unserem Logfile sehen:
-rw-rw---- 1 mysql adm 0 Jul 26 07:40 slow-queries.log -rw-rw---- 1 mysql adm 1092 Jul 26 07:40 slow-queries.log.1
Zum anderen hat natürlich auch logrotate ein Logfile:
cat /var/lib/logrotate/status | grep slow-queries "/var/log/mysql/slow-queries.log" 2014-7-26-7:40:24
--Bernhard Linz 07:53, 26. Jul. 2014 (CEST)