Log-Verwaltung: Festplatte voll verhindern mit logrotate
Wichtige Log-Speicherorte, logrotate-Konfiguration, journald-Größenlimits, große Log-Dateien finden und Log-Analyse-Grundlagen. Anleitung zur Vermeidung voller Festplatten auf Linux-Servern.
Inhaltsverzeichnis
Log-Verwaltung: Festplatte voll verhindern mit logrotate
Log-Dateien sind unverzichtbar für die Diagnose von Systemproblemen und die Überwachung von Sicherheitsereignissen. Wenn sie jedoch nicht verwaltet werden, können sie den Festplattenspeicher füllen und Systemabstürze verursachen. Diese Anleitung behandelt wichtige Log-Speicherorte, logrotate-Konfiguration, journald-Größenverwaltung und das Auffinden großer Log-Dateien.
Wichtige Log-Speicherorte
System-Log-Dateien
# Hauptverzeichnis für System-Logs
ls -lh /var/log/
# Wichtige Log-Dateien:
# /var/log/syslog — Allgemeine Systemmeldungen (Debian/Ubuntu)
# /var/log/messages — Allgemeine Systemmeldungen (RHEL/CentOS)
# /var/log/auth.log — Authentifizierungslogs (Debian/Ubuntu)
# /var/log/secure — Authentifizierungslogs (RHEL/CentOS)
# /var/log/kern.log — Kernel-Meldungen
# /var/log/cron — Cron-Job-Logs
# /var/log/mail.log — Mail-Server-Logs
Anwendungs-Log-Dateien
# Webserver-Logs
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/apache2/access.log
/var/log/apache2/error.log
# Datenbank-Logs
/var/log/mysql/error.log
/var/log/postgresql/
Log-Dateien überwachen
# Echtzeit-Log-Überwachung
tail -f /var/log/syslog
tail -f /var/log/nginx/access.log
# Letzte 100 Zeilen
tail -n 100 /var/log/auth.log
# Nach bestimmtem Schlüsselwort suchen
grep "ERROR" /var/log/nginx/error.log
grep "Failed password" /var/log/auth.log
# In mehreren Dateien suchen
grep -r "error" /var/log/nginx/
Festplattenplatz-Analyse
Große Log-Dateien finden
# Größte Dateien unter /var/log finden
du -sh /var/log/* | sort -rh | head -20
# Große Dateien im gesamten System finden (100MB+)
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
# Dateien größer als 50MB unter /var/log
find /var/log -type f -size +50M -exec ls -lh {} \;
# Festplattennutzung prüfen
df -h
# Verzeichnisgrößen anzeigen
du -sh /var/log/
du -sh /var/log/* | sort -rh
logrotate-Konfiguration
logrotate ist ein Tool, das Log-Dateien automatisch rotiert, komprimiert und löscht.
Wie logrotate funktioniert
# logrotate läuft standardmäßig täglich über cron
cat /etc/cron.daily/logrotate
# Manuell ausführen
sudo logrotate /etc/logrotate.conf
# Simulationsmodus (keine echten Operationen)
sudo logrotate --debug /etc/logrotate.conf
# Rotation erzwingen
sudo logrotate --force /etc/logrotate.d/nginx
Haupt-logrotate-Konfiguration
# Hauptkonfigurationsdatei
sudo nano /etc/logrotate.conf
# Standardeinstellungen
weekly # Wöchentlich rotieren
rotate 4 # 4 alte Versionen behalten
create # Neue Datei nach Rotation erstellen
compress # Alte Logs komprimieren
delaycompress # Zuletzt rotierten Log nicht komprimieren
include /etc/logrotate.d # Anwendungskonfigurationen einschließen
Anwendungsspezifische logrotate-Konfiguration
# logrotate-Konfiguration für Nginx
sudo nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily # Täglich rotieren
missingok # Kein Fehler wenn Datei fehlt
rotate 14 # 14 Tage Logs behalten
compress # Komprimieren
delaycompress # Neuesten nicht komprimieren
notifempty # Leere Dateien nicht rotieren
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Benutzerdefinierte Anwendung logrotate
sudo nano /etc/logrotate.d/myapp
/var/log/myapp/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 0644 www-data www-data
dateext
dateformat -%Y%m%d
postrotate
systemctl reload myapp 2>/dev/null || true
endscript
}
journald-Größenverwaltung
# Aktuelle Journal-Größe prüfen
journalctl --disk-usage
# Alte Logs bereinigen (älter als 2 Wochen)
sudo journalctl --vacuum-time=2weeks
# Mit Größenlimit bereinigen
sudo journalctl --vacuum-size=500M
# Bestimmte Anzahl Dateien behalten
sudo journalctl --vacuum-files=5
Dauerhafte journald-Konfiguration
# journald-Konfigurationsdatei bearbeiten
sudo nano /etc/systemd/journald.conf
[Journal]
# Maximale Festplattennutzung
SystemMaxUse=500M
# Minimaler freier Festplattenspeicher
SystemKeepFree=1G
# Maximale Dateigröße
SystemMaxFileSize=50M
# Log-Aufbewahrungszeitraum
MaxRetentionSec=2weeks
# Komprimierung
Compress=yes
# Dauerhafter Speicher
Storage=persistent
# Konfiguration anwenden
sudo systemctl restart systemd-journald
Log-Analyse-Grundlagen
# Nginx-Fehler-Logs analysieren
grep -c "error" /var/log/nginx/error.log
grep "error" /var/log/nginx/error.log | tail -20
# SSH-Brute-Force-Versuche erkennen
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -10
# Top-anfragende IPs finden
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# HTTP-Statuscodes zählen
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
# Fehler aus systemd-Journal filtern
journalctl -p err --since "1 hour ago"
Notfall: Festplatte voll
# Schnelle Reaktion bei voller Festplatte
# 1. Festplattenstatus prüfen
df -h
# 2. Größte Dateien finden
du -sh /var/log/* | sort -rh | head -10
# 3. Alte Journal-Logs bereinigen
sudo journalctl --vacuum-time=3days
# 4. Unkomprimierte alte Logs komprimieren
find /var/log -name "*.log.*" ! -name "*.gz" -exec gzip {} \;
# 5. logrotate erzwingen
sudo logrotate --force /etc/logrotate.conf
# 6. Paket-Cache bereinigen
sudo apt clean # Ubuntu/Debian
sudo dnf clean all # RHEL/CentOS
Automatisieren Sie die Log-Verwaltung: Überprüfen Sie regelmäßig die logrotate-Konfiguration, setzen Sie journald-Größenlimits und richten Sie Alerts zur Überwachung der Festplattennutzung ein.
Fazit
Effektive Log-Verwaltung verhindert Probleme mit voller Festplatte und verbessert die Systemzuverlässigkeit. Mit automatischer logrotate-Rotation, journald-Größenlimits und regelmäßiger Log-Analyse können Sie Ihre REXE-Server gesund halten.
Verwandte Artikel
VDS-Server per SSH verbinden: PuTTY, Terminal & Schlüssel
SSH-Verbindung zum Linux VDS-Server: PuTTY, Terminal, schlüsselbasierte Authentifizierung, Path Panel Firewall-Regel und Sicherheitstipps für Einsteiger.
Windows VDS per RDP verbinden: Vollständige Anleitung
Schritt-für-Schritt-Anleitung zur RDP-Verbindung mit Windows Server VDS: Einrichtung, NLA-Sicherheit, Path Panel Firewall-Regel und Fehlerbehebung.
VDS-Server Betriebssystem wechseln: Schritt-für-Schritt
Betriebssystemwechsel am VDS-Server über das REXE-Panel: Backup-Tipps, unterstützte Linux-Distributionen und Windows Server Versionen im Überblick.