Übergroße Ordner auf dem Server löschen

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
cleanup
Posts: 6
Joined: 2006-06-22 15:14
 

Übergroße Ordner auf dem Server löschen

Post by cleanup »

Hallo allerseits!

Ich habe ein Problem mit einem Ordner auf meinem Root-Server (alter Rootserver L bei 1und1). Und zwar hat ein nicht richtig funktionierendes Script einen Ordner auf dem Server innerhalb weniger Zeit mit unzähligen Dateien vollgemüllt. Diese Dateien sind jeweils zwischen 5 und 50 KB groß.

Nun wollte ich den Ordner über "rm -r [ORDNERNAME]" über die Konsole löschen, allerdings bricht dann putty ab, da allein schon der Dateiindex ca. 15 MB groß ist (und der wird ja zum Löschen benötigt).

Welche anderen Befehle oder Tools gibt es, um derartige Ordner zu löschen? Würde ganz gerne die 5-8 GB auf meinem Server wieder nutzen. :wink:

Danke für eure Antworten!
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Übergroße Ordner auf dem Server löschen

Post by Joe User »

Code: Select all

find /path/to/trash -type d -print0 | xargs -0 rm -r
Sollte funktionieren...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
cleanup
Posts: 6
Joined: 2006-06-22 15:14
 

Re: Übergroße Ordner auf dem Server löschen

Post by cleanup »

Funktioniert leider nicht bzw. das Ergebnis ist das gleiche: putty hält an und reagiert nicht mehr. Auch wenn ich dies über ein PHP-Script o.ä. löschen möchte, funktioniert dies nicht. Wenn es nur ein paar große Dateien wären, dann gäbe es das Problem nicht, aber bei den wahrscheinlich >100.000 kleinen Dateien fehlt mir da noch die passende Lösung.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Übergroße Ordner auf dem Server löschen

Post by Joe User »

Du kannst auch schubweise beispielsweise nach Anfangsbuchstaben der Verzeichnisse löschen:

Code: Select all

find /path/to/trash -type d -name a* -print0 | xargs -0 rm -r
Einfach a* für jeden Durchgang entsprechend anpassen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
lordy
Posts: 83
Joined: 2006-06-22 12:45
 

Re: Übergroße Ordner auf dem Server löschen

Post by lordy »

Meine Idee:

Code: Select all

find /path/to/trash -type f -ls -exec rm -f '{}' ;
So bekommst du zumindest eine Rückmeldung, was vor sich geht...
cleanup
Posts: 6
Joined: 2006-06-22 15:14
 

Re: Übergroße Ordner auf dem Server löschen

Post by cleanup »

@lordy + Joe User:

Danke für eure Tipps! Mit dem Vorschlag von lordy sehe ich jetzt, wie der Löschvorgang läuft. Bei ca. 10-20 Dateien pro Sekunde wird dies zwar eine Weile dauern, aber immerhin ist das lästige Problem dann geklärt.

DANKE!!!
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal
 

Re: Übergroße Ordner auf dem Server löschen

Post by thorsten »

Die Shell war noch nie so richtig schnell bei dieser Aufgabe. Bei einem früheren Arbeitgeber hatten wir ein ähnliches Problem und ein findiger Perljunky hat einen Perleinzeiler geschrieben, der diese Aufgabe ca 100 mal schneller erledigte als die shell (korn shell unter SCO).
peterpan
Posts: 73
Joined: 2003-02-05 17:28
 

Re: Übergroße Ordner auf dem Server löschen

Post by peterpan »

Wenn es häufiger vorkommt, kannst Du für das Verzeichnis eine kleine Extra-Partition anlegen. Formatieren geht schneller als löschen.
cleanup
Posts: 6
Joined: 2006-06-22 15:14
 

Re: Übergroße Ordner auf dem Server löschen

Post by cleanup »

Ich habe das Problemscript mittlerweile entfernt, d.h. das wird nicht mehr auftreten. Bin auch allgemein am Aufräumen auf dem Server. Alles was nicht mehr benötigt wird kommt weg und ich bastel gerade an einem Script, welches beim nächsten Server dann automatisch alles notwendige durchführt, d.h. offene Ports sperrt, diverse Tools aufsetzt etc. Beim Zurücksetzen eines Servers geht das dann endlich schneller als wenn man alles per Hand macht.