Wenn ein Server im entscheidenden Moment die Arbeit einstellt, weil die Festplatte vollgelaufen ist, kann das richtig unangenehm werden – egal ob privater Webserver, produktiver Datenbank-Host oder einfach dein Linux-Desktop.
Doch mit den richtigen Werkzeugen lässt sich dieses Risiko minimieren.
Zwei Klassiker, die jedes Linux-System mitbringt, sind df und du. Mit ihnen erkennst du schnell, wo der Speicher knapp wird und welche Verzeichnisse die größten Speicherfresser sind.
In diesem Artikel erfährst du:
wie du df und du effektiv nutzt,
warum die Ergebnisse manchmal verwirrend wirken,
welche Zusatztools dir das Leben leichter machen,
und wie du Warnmeldungen per Telegram oder IFTTT bekommst, wenn der Speicher eng wird.
Dieser Beitrag ist bewusst ausführlich gehalten – ein Nachschlagewerk, das du immer wieder nutzen kannst.
Kapitel 1: Das Problem mit Speicherplatz
Speicherplatz ist wie Benzin im Auto: Man merkt erst, wie wichtig er ist, wenn er fehlt.
Gerade auf Servern können vollgelaufene Partitionen fatale Folgen haben:
Datenbanken stoppen, weil keine neuen Einträge gespeichert werden können.
Webseiten brechen ab, weil Logs nicht mehr geschrieben werden können.
Backups scheitern, da sie kein Ziel mehr finden.
Im schlimmsten Fall startet ein System gar nicht mehr sauber.
Die gute Nachricht: Linux gibt dir mit Bordmitteln mächtige Tools an die Hand.
Kapitel 2: Überblick mit df
Der Befehl df (Disk Free) beantwortet die große Frage:
Wie viel Platz ist auf meinen Partitionen noch frei?
Grundlegender Aufruf
df -h
Die Option -h bedeutet human-readable, also Größen in KB, MB oder GB.
Beispielausgabe:
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1 50G 35G 13G 73% /
tmpfs 1.9G 2.0M 1.9G 1% /dev/shm
/dev/sdb1 200G 150G 40G 79% /home
Wichtige Optionen
-h → menschenfreundliche Ausgabe
-T → zeigt zusätzlich den Dateisystemtyp
-i → zeigt statt Speicherplatz die Anzahl freier Inodes
👉 Warum Inodes?
Wenn ein Dateisystem Millionen kleiner Dateien enthält, können die Inodes „voll“ sein, obwohl noch Speicherplatz übrig ist. Mit df -i erkennst du dieses Problem sofort.
Kapitel 3: Tiefenanalyse mit du
Während df das große Ganze zeigt, ist du (Disk Usage) der Detektiv, der herausfindet, welcher Ordner schuld ist.
Beispielaufrufe
du -h /var
Zeigt die Größe aller Unterverzeichnisse in /var.
du -h –max-depth=1 /home
Fasst die Größen nach erstem Verzeichnislevel zusammen.
du -sh /home/user
Nur die Gesamtgröße von /home/user.
Praktische Tricks
du -ah → zeigt auch Dateien, nicht nur Ordner.
sort kombinieren, um die größten Elemente zu finden:
du -ah /var | sort -rh | head -n 10
Ergebnis: die 10 größten Dateien/Ordner.
Kapitel 4: Typische Probleme verstehen
Manchmal liefern df und du unterschiedliche Zahlen.
Das liegt an:
Gelöschten, aber noch offenen Dateien
→ Prozesse halten die Datei noch offen. Speicher ist belegt, aber du sieht sie nicht mehr.
Lösung:
lsof | grep deleted
Dateisystem-Overhead
→ df zeigt inkl. Metadaten (z. B. Journaling).
Fehlende Zugriffsrechte
→ du kann bestimmte Ordner nicht lesen, dann fehlen Daten.
Kapitel 5: Komforttools – ncdu
Wenn dir du zu unübersichtlich ist, hilft ncdu.
Installation
sudo apt install ncdu # Debian/Ubuntu
sudo yum install ncdu # CentOS/RHEL
Nutzung
ncdu /home
Jetzt bekommst du eine interaktive Oberfläche, durch die du mit den Pfeiltasten navigieren kannst.
Größte Verzeichnisse oben, sofort erkennbar, und du kannst sogar Dateien direkt löschen.
Kapitel 6: Speicherplatz regelmäßig überwachen
Einmal aufräumen ist gut – aber was, wenn der Speicher in der Nacht vollläuft?
Dafür braucht man automatisierte Überwachung.
Methode 1: Bash-Skript mit df
Ein kleines Skript prüft den Speicher und warnt dich:
!/bin/bash
LIMIT=90
USAGE=$(df -h / | grep -vE ‚^Filesystem‘ | awk ‚{ print $5 }‘ | sed ’s/%//‘)
if [ $USAGE -ge $LIMIT ]; then
echo „Achtung: Root-Partition bei $USAGE%!“ | mail -s „Speicherwarnung“ admin@beispiel.de
fi
Das kannst du mit cron regelmäßig ausführen.
Kapitel 7: Telegram-Benachrichtigungen einrichten
E-Mails liest nicht jeder sofort – Telegram ist oft praktischer.
Schritt 1: Telegram Bot erstellen
Schreibe in Telegram an @BotFather.
Erstelle einen Bot mit /newbot.
Du bekommst einen Token (z. B. 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).
Schritt 2: Chat-ID herausfinden
Schreibe dem Bot eine Nachricht.
Rufe die API auf:
curl -s https://api.telegram.org/botTOKEN/getUpdates
Dort findest du deine chat_id.
Schritt 3: Bash-Skript für Warnungen
!/bin/bash
LIMIT=90
USAGE=$(df -h / | grep -vE ‚^Filesystem‘ | awk ‚{ print $5 }‘ | sed ’s/%//‘)
if [ $USAGE -ge $LIMIT ]; then
MESSAGE=“⚠️ Achtung: Root-Partition bei $USAGE% voll!“
curl -s -X POST „https://api.telegram.org/botDEIN_TOKEN/sendMessage“ \
-d chat_id=DEINE_CHAT_ID \
-d text=“$MESSAGE“
fi
👉 Dieses Skript kannst du alle 10 Minuten via cron laufen lassen.
Kapitel 8: IFTTT-Benachrichtigungen
Falls du lieber IFTTT (If This Then That) nutzt, geht das ähnlich:
Schritt 1: Webhook einrichten
Gehe zu ifttt.com
.
Erstelle ein neues Applet: „If Webhook then Telegram/Email/Push“.
Du bekommst eine Webhook-URL wie:
Schritt 2: Bash-Skript
!/bin/bash
LIMIT=90
USAGE=$(df -h / | grep -vE ‚^Filesystem‘ | awk ‚{ print $5 }‘ | sed ’s/%//‘)
if [ $USAGE -ge $LIMIT ]; then
curl -X POST \
-H „Content-Type: application/json“ \
-d „{\“value1\“:\“$USAGE%\“}“ \
https://maker.ifttt.com/trigger/disk_full/with/key/XYZ123
fi
Damit schickst du automatisch eine Meldung an dein Smartphone oder E-Mail.
Kapitel 9: Best Practices für Speicherplatzmanagement
Partitionierung überdenken
/home, /var, /tmp sollten getrennt sein, damit ein volles Verzeichnis nicht das ganze System lahmlegt.
Logs rotieren lassen
Mit logrotate sicherstellen, dass Logs regelmäßig komprimiert oder gelöscht werden.
Alte Kernel entfernen
Auf Debian/Ubuntu:
sudo apt autoremove –purge
Temp-Verzeichnisse aufräumen
Viele Daten landen in /tmp. Cronjob mit tmpwatch oder systemd-tmpfiles einrichten.
Monitoring-Tools
Auf Servern lohnt sich ein vollwertiges Monitoring (z. B. Prometheus + Grafana, Zabbix oder Nagios).
Schreibe einen Kommentar