Automatische Log-Rotation und Bereinigung
Halten Sie Festplatten durch die Automatisierung von Log-Rotation und der Bereinigung alter Dateien mit logrotate und geplanten find-basierten Skripten funktionsfähig.
Automatische Log-Rotation und Bereinigung ist eine kostenlose Linux Command Line & Bash Scripting Mastery-Lektion auf CoddyKit. Dies ist Lektion 4 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 Command Line & Bash Scripting Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Command Line & Bash Scripting Mastery-Kurs umfasst insgesamt 4 Lektionen.
Das Problem wachsender Logs
Lang laufende Dienste schreiben fortlaufend Logs. Ohne Verwaltung füllen sie die Festplatte und bringen das System zum Absturz. Rotation und Bereinigung halten sie unter Kontrolle.
du -sh /var/log/*Was die Logrotation bewirkt
Bei der Rotation wird das aktuelle Log umbenannt, ein neues leeres Log gestartet und eine begrenzte Anzahl älterer komprimierter Kopien aufbewahrt.
- app.log wird zu app.log.1
- Alte Kopien werden mit gzip komprimiert
- Die ältesten werden gelöscht
logrotate kennenlernen
logrotate ist das standardmäßige Linux-Werkzeug, das die Rotation nach Größe oder Alter automatisiert. Die Konfiguration befindet sich unter /etc/logrotate.d/.
cat /etc/logrotate.confEine einfache logrotate-Konfiguration
Ein Konfigurationsblock benennt die Logdateien und die Rotationsrichtlinie.
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}Direktiven verstehen
Häufige Direktiven:
dailyrotiert täglichrotate 7bewahrt 7 alte Dateien aufcompresskomprimiert rotierte Logs mit gzipmissingoküberspringt fehlende Dateien
Testen, ohne zu warten
Erzwingen Sie eine Ausführung mit -f oder führen Sie mit -d einen Probelauf durch, um die Konfiguration vor dem Vertrauen auf den Zeitplan zu prüfen.
logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myapppostrotate-Skripte
Viele Dienste halten den alten Dateideskriptor geöffnet. Ein postrotate-Block weist den Dienst an, sein Log nach der Rotation erneut zu öffnen.
/var/log/myapp/*.log {
daily
postrotate
systemctl reload myapp
endscript
}Alte Dateien mit find bereinigen
Für eine einmalige Bereinigung findet find zusammen mit -mtime Dateien, die älter als N Tage sind, und löscht sie.
find /var/log/myapp -name "*.log" -mtime +30 -deleteEin sicheres Bereinigungsskript
Verpacken Sie die Bereinigung in ein Skript, das protokolliert, was es löscht, damit Sie einen Prüfpfad haben.
#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
>> /var/log/cleanup.log 2>&1Die Bereinigung planen
Überlassen Sie die Rotation logrotate (das bereits über cron gesteuert wird) und planen Sie eigene Bereinigungsskripte mit einem eigenen crontab-Eintrag.
# crontab -e
30 2 * * * /usr/local/bin/cleanup.shFestplattennutzung überwachen
Fügen Sie eine Überwachung hinzu, die alarmiert, wenn eine Partition einen Schwellenwert überschreitet, damit die Bereinigung nie zu spät ausgeführt wird.
USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert rootKurzer Test
Testen Sie Ihr Wissen über Automatisierung.
Zusammenfassung
Sie haben die Logverwaltung automatisiert:
- logrotate rotiert nach Alter oder Größe mit
rotate,compressundpostrotate - Mit
-d/-fprüfen find -mtime +N -deletefür eigene Bereinigungen verwenden- Mit cron planen und durch Warnungen zur Festplattennutzung absichern
Lerne Bash mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 22
- Lektionen
- 88
Häufig gestellte Fragen
Ist die Lektion „Automatische Log-Rotation und Bereinigung“ kostenlos?
Ja — der vollständige Text von „Automatische Log-Rotation und Bereinigung“ 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 Command Line & Bash Scripting Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Command Line & Bash Scripting Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Automatische Log-Rotation und Bereinigung“?
Halten Sie Festplatten durch die Automatisierung von Log-Rotation und der Bereinigung alter Dateien mit logrotate und geplanten find-basierten Skripten funktionsfähig. Du übst Linux Command Line & Bash Scripting 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 Command Line & Bash Scripting Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Command Line & Bash Scripting 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 4 von 4.
Wie lange dauert die Lektion „Automatische Log-Rotation und Bereinigung“?
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 Command Line & Bash Scripting Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Command Line & Bash Scripting 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
- Aufgaben mit Cron planen
- Systemadministration automatisieren
- Fortgeschrittenes Skripting-Projekt
- Automatische Log-Rotation und Bereinigung