
Service-Hotline
![]()
Support-Hotline
![]()
max. 12 Cent/Min. aus dem Festnetz der Deutschen Telekom
Email
info@remote-dba.info
Aktuelle Downloads
Interessante Information als PDF.
Oracle Outsourcing als Alternative - ASPICON Business Whitepaper, kostenlos (PDF)Auszeichnung als innovativstes Produkt in der Kategorie Outsourcing beim Innovationspreis ITK 2007Aktuelle Meldungen
Platte voll! Wer hat Schuld?
Datum 20.06.2011
Sobald eine größere Platte eingebaut oder ein Volume vergrößert wurde, ist es meist auch schon wieder voll. Im allgemeinen gestaltet es sich dann schwierig, unter der Vielzahl der Unterverzeichnisse das jenige zu finden, das den meisten Platz belegt - sei es durch Generationen von Logfiles, vergessene Downloads des vorletzten Linuxreleases oder das komplette Installimage der Oracle Database 11.2 usw.Man kann sich jetzt mehr oder weniger mühsam durch die einzelnen Verzeichnisse "hangeln" auf der Suche nach dem Top-Verbraucher, indem man die Befehle "du" und "sort" zu Rate zieht. Beispielsweise würde man typischerweise so nach einem übermäßig gefüllten Verzeichnis unterhalb /var suchen:
# du -sxk /var/*|sort -n
0 /var/mail
4 /var/account
4 /var/crash
4 /var/cvs
4 /var/games
4 /var/gdm
4 /var/local
4 /var/nis
4 /var/opt
4 /var/preserve
4 /var/yp
8 /var/db
8 /var/empty
12 /var/www
16 /var/lock
16 /var/lost+found
128 /var/spool
320 /var/run
11936 /var/cfengine
16260 /var/log
46008 /var/cache
96940 /var/lib
5796128 /var/tmp
/var/tmp trägt hier am meisten zur Volumeauslastung bei und ist offensichtlich (dem Namen nach) auch ein Kandidat zum Löschen. Deshalb würde man nun in dessen Unterverzeichnissen weitersuchen:
# du -sxk /var/tmp/*|sort -n
252 /var/tmp/NameSearch_APEX_Demoapp_UTF8_4_0_0_Db11202.sql
17604 /var/tmp/kdecache-tso
25752 /var/tmp/p6880880_101000_Linux-x86-64.zip
141188 /var/tmp/B30974-01.zip
591500 /var/tmp/B30973-01.zip
684108 /var/tmp/as_linux_x86_oim_oif_101401_disk1.cpio
696388 /var/tmp/as_linux_x86_oim_oif_101401_disk2.cpio
3635280 /var/tmp/c-rep-01
# du -sxk /var/tmp/c-rep-01/*|sort -n
...und so weiter.
Wir haben statt dessen ein kleines bash-Skript mit Namen "dutree.sh" geschrieben, das ausgehend von einem Startverzeichnis rekursiv die Verzeichnisstruktur der Platte durchsucht, "du" auf jedes der Verzeichnisse anwendet und das Ergebnis in einer Baumstruktur darstellt. Die Ausgabe wird je Verzeichnis aufsteigend nach Größe sortiert, so dass man je Baumlevel von unten beginnend nach oben die lukrativsten Löschkandidaten ausfindig machen kann. Um eine gewisse Vorauswahl treffen zu können, kann dem Skript ein Füllstand mitgegeben werden, den ein Verzeichnis mindestens aufweisen muss, um in die Ausgabe einbezogen zu werden. Im folgenden Beispiel wird das /var-Verzeichnis nach allen Verzeichnissen durchsucht, die (zzgl. ihrer Unterverzeichnisse) mindestens 100M belegen:
# ./dutree.sh /var 100m
5815M /var/tmp/
. 176M . /var/tmp/kdecache-tso/
.. 172M .. /var/tmp/kdecache-tso/kpc/
. 3550M . /var/tmp/c-rep-01/
.. 3550M .. /var/tmp/c-rep-01/MREP/
... 3502M ... /var/tmp/c-rep-01/MREP/backupset/
.... 641M .... /var/tmp/c-rep-01/MREP/backupset/2011_02_24/
.... 2860M .... /var/tmp/c-rep-01/MREP/backupset/2011_03_01/
DBA-Tipp des Monats







