Linux: Festplatte voll – Platzfresser aufspüren

1

Mich rief gerade ein Kollege an, der ein Linux System hatte, auf dem sich einige Dienste nicht mehr starten ließen. ein kurzer Blick auf die Platte zeigt, dass diese voll gelaufen war. Dies war somit auch der Grund, warum sich einige Dienste verabschiedet hatten.

Um heraus zu finden, welche Verzeichnisse bzw. Dateien ich mir anschauen sollte um schnell wieder Platz frei zu bekommen halfen mir folgende zwei Befehle

find / -size +100M |xargs ls -laAh
for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

1 Kommentar

  1. ChristianS am

    Der find-Befehl ist unglücklich gewählt, denn bei Dateien mit Leerzeichen (soll auch mal vorkommen) fährt ls gegen die Wand mit „no such file or directory“ für die jeweiligen Dateinamensteile.

    Besser, Du verwendest -print0 für find und xargst passend dazu mit -0:

    find / -size +100M -print0 | xargs -0 ls -laAh

    Noch ein Punkt zur Verbesserung: Sollte find nichts finden, würde das xargs trotzdem aufgerufen und ls -laAah ohne Dateinamen ausgeführt. Ein -r bei xargs verhindert, dass xargs auch bei leerem STDIN läuft:

    find / -size +100M -print0 | xargs -0 -r ls -laAh

    Und was die for-Schleife mit dem du angeht:

    Du durchläufst auf diese Weise drei Mal den Verzeichnisbaum, was je nach Datenbestand eine Weile dauern kann.

    Warum nicht einfach ein

    du -sk | sort -nr | head -11

    machen und die Ausgabe in kB lesen? Ich habe diese Ausgabe in human readable noch nie gemocht, weil man die einzelnen Werte nicht auf den ersten Blick in Relation zueinander setzen kann.

Antworten