Protokollrotation und Archivierung
Setzen Sie `logrotate` ein, um die Größe von Protokolldateien zu verwalten, eine Erschöpfung des Speicherplatzes zu verhindern und effiziente Richtlinien zur Protokollarchivierung sicherzustellen.
Protokollrotation und Archivierung ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Warum die Protokollrotation wichtig ist
Serverprotokolle sind für Fehlersuche und Überwachung unerlässlich, können aber mit der Zeit sehr groß werden. Wenn sie nicht verwaltet werden, füllen sie schnell den Speicherplatz, was zu Instabilität oder sogar Abstürzen des Servers führen kann.
Hier kommt die Protokollrotation ins Spiel. Sie ist ein wichtiger Prozess zur effizienten Verwaltung der Größe von Protokolldateien.
Das Dienstprogramm `logrotate`
Linux-Systeme verwenden ein Dienstprogramm namens logrotate, um die Verwaltung von Protokolldateien zu automatisieren. Es ist dafür ausgelegt:
- Protokolle zu rotieren (alte umzubenennen)
- alte Protokolle zu komprimieren, um Speicherplatz zu sparen
- veraltete Protokolldateien zu entfernen
- nach der Rotation benutzerdefinierte Skripte auszuführen
Die meisten Linux-Distributionen haben logrotate vorinstalliert und so konfiguriert, dass es täglich über einen Cronjob ausgeführt wird.
So findet `logrotate` seine Anweisungen
logrotate liest seine Konfiguration aus bestimmten Dateien. Es gibt zwei Hauptorte:
/etc/logrotate.conf: Die zentrale Konfigurationsdatei, die häufig globale Einstellungen und Standardwerte enthält./etc/logrotate.d/: Ein Verzeichnis, in dem einzelne Anwendungen und Dienste ihre eigenen Regeln für die Protokollrotation ablegen. Jede Datei in diesem Verzeichnis wird als separate Konfiguration behandelt.
Dieser modulare Ansatz erleichtert die Verwaltung von Regeln für verschiedene Dienste.
Die Häufigkeit der Protokollrotation festlegen
Eine der ersten Festlegungen betrifft die Häufigkeit der Protokollrotation. logrotate bietet dafür mehrere Direktiven:
daily: Protokolle täglich rotieren.weekly: Protokolle einmal pro Woche rotieren.monthly: Protokolle einmal pro Monat rotieren.yearly: Protokolle einmal pro Jahr rotieren.
Wählen Sie eine Häufigkeit, die den Erhalt detaillierter Protokolle und den Speicherplatzverbrauch ausgewogen berücksichtigt.
Wie viele alte Protokolle aufbewahrt werden
Die Direktive rotate legt fest, wie viele alte Protokolldateien logrotate aufbewahrt, bevor die älteste gelöscht wird. rotate 4 bedeutet beispielsweise, dass die aktuelle Protokolldatei sowie vier rotierte (archivierte) Versionen aufbewahrt werden.
Sobald das Limit erreicht ist, wird bei einer neuen Rotation das älteste rotierte Protokoll entfernt.
Alte Protokolldateien komprimieren
Um noch mehr Speicherplatz zu sparen, kann logrotate alte Protokolldateien komprimieren. Die Direktive compress erledigt genau das und verwendet in der Regel gzip.
Wenn diese Option aktiviert ist, erscheinen Ihre rotierten Protokolle als .gz-Dateien (z. B. myapp.log.1.gz). Für die meisten Serverprotokolle wird dies dringend empfohlen.
Nach Größe statt nur nach Zeit rotieren
Manchmal wachsen Protokolle sehr schnell, sodass eine tägliche oder wöchentliche Rotation nicht ausreicht. Mit der Direktive size können Sie Protokolle rotieren, sobald sie eine bestimmte Dateigröße überschreiten – unabhängig vom zeitlichen Intervall.
size 100k: Rotiert, wenn die Protokolldatei größer als 100 Kilobyte ist.size 10M: Rotiert, wenn die Protokolldatei größer als 10 Megabyte ist.size 1G: Rotiert, wenn die Protokolldatei größer als 1 Gigabyte ist.
Wenn sowohl ein zeitliches Intervall (z. B. daily) als auch size angegeben sind, wird rotiert, sobald eine der beiden Bedingungen erfüllt ist.
Beispielkonfiguration für `logrotate`
Hier sehen Sie ein einfaches Beispiel für eine Konfigurationsdatei, die Sie für die Protokolldatei einer beispielhaften Anwendung in /etc/logrotate.d/ finden könnten:
Diese Konfiguration rotiert das Protokoll täglich, behält 7 alte Kopien und komprimiert sie.
/var/log/my_app/access.log {
daily
rotate 7
compress
notifempty
missingok
}
`logrotate` manuell ausführen
Obwohl logrotate normalerweise automatisch über cron ausgeführt wird, können Sie eine Rotation manuell testen oder erzwingen. Der wichtigste Befehl lautet logrotate /etc/logrotate.conf.
Um eine Rotation zu erzwingen, was zum Testen Ihrer Konfigurationen nützlich ist, verwenden Sie das Flag -f:
logrotate -f /etc/logrotate.d/my_app: Erzwingt die Rotation für eine bestimmte Konfigurationsdatei.logrotate -f /etc/logrotate.conf: Erzwingt die Rotation für alle konfigurierten Protokolle.
Mit dem Flag -d (Debug) können Sie sehen, was ausgeführt würde, ohne tatsächlich etwas zu rotieren.
Kurze Überprüfung: Aufbewahrung von Protokollen
Betrachten Sie die folgende logrotate-Konfiguration für /var/log/webserver/error.log:
/var/log/webserver/error.log {
weekly
rotate 4
compress
notifempty
}Wenn diese Konfiguration mehrere Wochen lang ausgeführt wurde, wie viele *komprimierte* historische Protokolldateien würden Sie zu einem beliebigen Zeitpunkt erwarten?
Zusammenfassung: Protokollverwaltung meistern
In dieser Lektion haben wir untersucht, wie Sie Serverprotokolle mit logrotate effektiv verwalten. Wir haben gelernt:
- Die Protokollrotation verhindert, dass der Speicherplatz auf der Festplatte ausgeht.
logrotateverwendet Konfigurationsdateien in/etc/logrotate.confund/etc/logrotate.d/.- Zu den wichtigsten Direktiven gehören
daily/weekly/monthlyfür das Intervall,rotatefür die Aufbewahrung,compresszum Sparen von Speicherplatz undsizefür eine bedingte Rotation.
Eine ordnungsgemäße Protokollverwaltung ist ein Grundpfeiler eines stabilen Serverbetriebs!
Häufig gestellte Fragen
Ist die Lektion „Protokollrotation und Archivierung“ kostenlos?
Ja — der vollständige Text von „Protokollrotation und Archivierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Protokollrotation und Archivierung“?
Setzen Sie `logrotate` ein, um die Größe von Protokolldateien zu verwalten, eine Erschöpfung des Speicherplatzes zu verhindern und effiziente Richtlinien zur Protokollarchivierung sicherzustellen. Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Protokollrotation und Archivierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Tools zur Systemüberwachung
- Systemprotokolle verstehen
- Protokollrotation und Archivierung
- Zentrales Monitoring und Alerting