Speicherplatz unter Linux meistern: df und du

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:

https://maker.ifttt.com/trigger/disk_full/with/key/XYZ123

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).


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert