Erst schauen, dann löschen
Ein voller Datenträger ist heimtückisch: Die Datenbank kann nicht mehr schreiben, der Webserver liefert Fehler, und manche Dienste starten nicht mehr. Widerstehe dem Impuls, wahllos Dateien zu löschen — erst herausfinden, was den Platz belegt.
Überblick verschaffen
df -h
Zeigt die Belegung pro Dateisystem. Interessant ist die Zeile mit /. Steht dort 100 Prozent, geht es weiter.
Den Verursacher finden
du -h --max-depth=1 / 2>/dev/null | sort -h | tail -15
Zeigt die größten Verzeichnisse der obersten Ebene. Danach im größten weitersuchen — also etwa du -h --max-depth=1 /var | sort -h. So arbeitest du dich in wenigen Schritten zur Ursache vor.
Komfortabler geht es mit ncdu, das sich durch die Verzeichnisse navigieren lässt:
apt install ncdu && ncdu /
Die üblichen Verdächtigen
- Logs unter
/var/log— besonders wenn ein Dienst in einer Fehlerschleife hängt und dieselbe Zeile millionenfach schreibt - Paket-Cache —
apt cleangibt oft ein bis zwei Gigabyte frei - Alte Kernel —
apt autoremove --purge - Docker — ungenutzte Images und Volumes fressen still Platz:
docker system dfzeigt es,docker system prune -aräumt auf (Vorsicht: löscht alle nicht genutzten Images) - Backups, die auf demselben Server liegen und nie aufgeräumt wurden
Journal begrenzen
journalctl --disk-usage
journalctl --vacuum-size=200M
Der Fall, der viele ratlos macht
Manchmal zeigt du deutlich weniger an, als df belegt meldet. Dann hält ein laufender Prozess eine bereits gelöschte Datei offen — der Platz wird erst frei, wenn er sie loslässt. So findest du ihn:
lsof +L1 | head -20
Ein Neustart des betreffenden Dienstes gibt den Platz sofort frei. Typischer Auslöser: Jemand hat eine große Logdatei gelöscht, statt sie zu leeren.
Richtig leeren statt löschen
Bei einer aktiven Logdatei:
truncate -s 0 /var/log/riesige-datei.log
Das leert die Datei, ohne den schreibenden Prozess zu stören.
Damit es nicht wiederkommt
Prüfe logrotate für Dienste, die viel protokollieren, und lege Backups grundsätzlich auf einen getrennten Speicher. Ein Backup auf derselben Platte schützt weder vor Plattenausfall noch vor vollem Speicher.