Ordner mit 60 000 000 Dateien löschen
Moin Moin,
ein Kunde hatte jahrelang ein Problem mit einer Software und diese hat sehr viele (60 MIO!!!!!!) Errorlogs (1KB) in einen Ordner geschrieben.
Ich möchte nun den Ordner löschen. Dies ist allerdings mit Windows Boardmitteln nicht möglich. Explorer schmiert dauernd ab schon beim anzeigen des Inhalts.
Über die Konsole habe ich es auch schon versucht. Leider auch ohne Erfolg. Hat jemand eine Software oder eine Idee, wie ich den Ordner gelöscht bekomme?
Mit freundlichen Grüßen Alex
ein Kunde hatte jahrelang ein Problem mit einer Software und diese hat sehr viele (60 MIO!!!!!!) Errorlogs (1KB) in einen Ordner geschrieben.
Ich möchte nun den Ordner löschen. Dies ist allerdings mit Windows Boardmitteln nicht möglich. Explorer schmiert dauernd ab schon beim anzeigen des Inhalts.
Über die Konsole habe ich es auch schon versucht. Leider auch ohne Erfolg. Hat jemand eine Software oder eine Idee, wie ich den Ordner gelöscht bekomme?
Mit freundlichen Grüßen Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 293449
Url: https://administrator.de/contentid/293449
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
68 Kommentare
Neuester Kommentar
Hallo.
Nur mal schnell aus der Hüfte:
Schon mal einen alternativen Dateimanager probiert? Gibt's auch jeweils Testversionen:
- Speed Commander (http://www.speedproject.de/download/)
- Total Commander (http://www.ghisler.com/ddownload.htm)
- Tablacus (http://www.eonet.ne.jp/~gakana/tablacus/explorer_en.html)
u. v. w. m.
Viele dieser Windows-Explorer-Alternativen nutzen aber die selben Routinen wie der Windows-Explorer, die werden Dir also evtl. nichts nützen. Ausprobieren heißt die Devise.
Viele Grüße
von
departure69
Nur mal schnell aus der Hüfte:
Schon mal einen alternativen Dateimanager probiert? Gibt's auch jeweils Testversionen:
- Speed Commander (http://www.speedproject.de/download/)
- Total Commander (http://www.ghisler.com/ddownload.htm)
- Tablacus (http://www.eonet.ne.jp/~gakana/tablacus/explorer_en.html)
u. v. w. m.
Viele dieser Windows-Explorer-Alternativen nutzen aber die selben Routinen wie der Windows-Explorer, die werden Dir also evtl. nichts nützen. Ausprobieren heißt die Devise.
Viele Grüße
von
departure69
Hallo,
Welches Windows und welche Fehlermeldung bzw. was genau hast du versucht?
Gruß,
Peter
Welches Windows und welche Fehlermeldung bzw. was genau hast du versucht?
Explorer
Der Windows Explorer oder nur der Datei Explorer?Über die Konsole habe ich es auch schon versucht. Leider auch ohne Erfolg.
Was genau hast du über der Konsole versucht und was war die Fehlermeldung?Gruß,
Peter
Oder mit Robocopy und einem leeren dummmy Ordner als Admin ausgeführt auch schnell erledigt:
Gruß grexit
md "%temp%\leer"
robocopy "%temp%\leer" "C:\zielordner" /MIR /B
Moin,
lks
PS: Alternativ kannst Du natürlich auch ein rm -rfv /mount/sdaX/dateipfahd/zielordner in der Konsole drauf loslassen.
- knoppix booten
- im Dateimanager bis zum fraglichen Ordner durchklicken.
- Mit rechter maustaste löschen im Menü auswählen.
- warten.
lks
PS: Alternativ kannst Du natürlich auch ein rm -rfv /mount/sdaX/dateipfahd/zielordner in der Konsole drauf loslassen.
Hallo,
Die Prozesse selbst laufen aber noch?
Dein
Deutet darauf hin das deine Applikation / Dienst welche die Dateien erzeugt noch läuft. Not good.
Wie wenig RAM?
Welche HDD Platten?
NTFS sollte mit nur 60 Millionen Dateien kein Problem haben, wird nur dauern....
Ein del Dateiuswahl.* zum einschränken hilft nicht bzw. löscht auch dieses Auswahl nicht? (Kann alles dauern ... Stunden....)
Gruß,
Peter
Zitat von @alexdroid:
Windows Server 2008, Über den Explorer löschen --> Keine Rückmeldung
über CMD: del, rd --> Keine Ausgabe: cursor blinkt aber nichts passiert.
Die RAM Anzeige ändert sich nicht? Die HDD LEDs bleiben aus?Windows Server 2008, Über den Explorer löschen --> Keine Rückmeldung
über CMD: del, rd --> Keine Ausgabe: cursor blinkt aber nichts passiert.
Die Prozesse selbst laufen aber noch?
Beide
Bei einem wird dein Desktop etc. neu gestartet. beim anderen nicht. Wie wenig RAM steht vorher bzw. währenddessen zur Verfügung?Dein
Zugriff verweigert, obwohl als Admin ausgeführt.
Wie wenig RAM?
Welche HDD Platten?
NTFS sollte mit nur 60 Millionen Dateien kein Problem haben, wird nur dauern....
Ein del Dateiuswahl.* zum einschränken hilft nicht bzw. löscht auch dieses Auswahl nicht? (Kann alles dauern ... Stunden....)
Gruß,
Peter
Hallo,
Und? Steigen dir ihr RAM bedarf nach oben?
Gruß,
Peter
Und? Steigen dir ihr RAM bedarf nach oben?
ca. 12 GB verfügbar
Da passt deine Dateiliste nicht rein, also wird dein Server anfangen auszulagern. je nach was er alles mit den RAID schon anstellt, jetzt bekommt er richtig was zu tun.... Mehr RAM.Ja die Logs kommen vom Mailserver, der natürlich noch läuft. Einzelne Dateien lassen sich via cmd löschen.
Einzelnen Dateien ist klar - nämlich die welche nicht mehr im Zugriff sind. Um welche Dateien geht es denn genau? Und sicher das dein Mailserver diese Dateien nicht mehr benötigt? Normalerweise wenn ein Mailserver Dateien ablegt, braucht er diese noch.....Raid 5 mit 4 * 1TB
Welche U/Min macht eine Platte? SAS oder SATA? RAID Kontroller hat Cache und BBU?das ist auch meine Vermutung. das wird aber Monate dauern, wenn er nach 3 Stunden nur ein paar MB schafft.
Dann funktioniert das löschen doch. Du hast es aber anders dargestellt. Das es langsam ist, ist bei einer zahl von 60 Millionen Dateien in ein Ordner doch klar. Da hilft nur reine Rechenpower und RAM und schnelle Platten ...Gruß,
Peter
Hi,
egal, wie Du es anstellst, Geduld wirst Du schon aufbringen müssen. 60 MIO Dateien löschen wird wohl ein paar Tage dauern.
Nur mal als Rechenbeispiel:
Um das an einem Tag zu schaffen, müsste er ca. 41.666 Dateien pro Minute löschen. 695 pro Sekunde. Das schafft der nicht. Kann ich mir nicht vorstellen. Auch nicht mit SSD und Fibre Channel. Der Knackpunkt ist das OS dahinter, unter welchem das Löschen stattfindet und ob der Code (die EXE) dafür ausgelegt (getestet) wurden. Irgendwo läuft es dann mal über.
Linux oder Windows: Ich würde ein Script laufen lassen, welches solange in der Endlosschleife läuft, bis der Ordner leer ist. Welches Kommando oder externe Tool es schlussendlich aufruft, um die Dateien zu löschen, ist zweitrangig.
Aber mal ein anderer Weg:
Die Systempartition?
Wie wäre es mit einer regulären Sicherung der Systempartition unter Auschluss des betreffenden Verzeichnisses. Dann das OS neu aufsetzen (Partition löschen und neu erstellen, oder nur formatieren) und anschließend die Sicherung wiederherstellen. Das geht wahrscheinlich um Längen schneller.
E.
egal, wie Du es anstellst, Geduld wirst Du schon aufbringen müssen. 60 MIO Dateien löschen wird wohl ein paar Tage dauern.
Nur mal als Rechenbeispiel:
Um das an einem Tag zu schaffen, müsste er ca. 41.666 Dateien pro Minute löschen. 695 pro Sekunde. Das schafft der nicht. Kann ich mir nicht vorstellen. Auch nicht mit SSD und Fibre Channel. Der Knackpunkt ist das OS dahinter, unter welchem das Löschen stattfindet und ob der Code (die EXE) dafür ausgelegt (getestet) wurden. Irgendwo läuft es dann mal über.
Linux oder Windows: Ich würde ein Script laufen lassen, welches solange in der Endlosschleife läuft, bis der Ordner leer ist. Welches Kommando oder externe Tool es schlussendlich aufruft, um die Dateien zu löschen, ist zweitrangig.
Aber mal ein anderer Weg:
Die Systempartition?
Wie wäre es mit einer regulären Sicherung der Systempartition unter Auschluss des betreffenden Verzeichnisses. Dann das OS neu aufsetzen (Partition löschen und neu erstellen, oder nur formatieren) und anschließend die Sicherung wiederherstellen. Das geht wahrscheinlich um Längen schneller.
E.
Hallo
Wird die Anzahl der Dateien merklich weniger ?
Diesen Ansatz halte ich für verschenkte Zeit. Er muss bei JEDEM Durchlauf, egal mit welchen Parametern, den gesamten Verzeichnisinhalt auswerten. Jedes Datum jeder Datei. Und das immer wieder und wieder, wenn Du Delage immer wieder für einen anderen Zeitraum aufrufst. (Auch wenn die Dateien dabei nach und nach weniger werden.)Mache ich im Moment über Delage32. Dauert aber viel zu lange
Wird die Anzahl der Dateien merklich weniger ?
Ich programmiere sebst ein bisschen. Glaub mir: Am längsten dauert nicht das Löschen der Datei sondern das Enumerieren der vorhandenen Dateien.
Ein weiterer Aspekt: Durch das Löschen nach Datum in mehreren Trancen wird die MFT immer mehr fragmentiert. Das Durchlaufen der Einträge wird deshalb nicht schneller. Wir reden hier nur von Millisekunden aber bei 60 Mio .... 1 Mio Millisekunden sind ca. 17 Minuten.
Ich finde die Lösung von emeriks ganz brauchbar, aber
Ansonsten ... was über Jahre hinweg erstellt wurde braucht auch seine Zeit wieder gelöscht zu werden.
Wieviele Dateien werden denn aktuell pro Minute gelöscht? Dann ist das Ende ja absehbar ...
Wie wäre es mit einer regulären Sicherung der Systempartition unter Auschluss des betreffenden Verzeichnisses. Dann das OS neu aufsetzen (Partition löschen und neu erstellen, oder nur formatieren) und anschließend die Sicherung wiederherstellen. Das geht wahrscheinlich um Längen schneller.
Ansonsten ... was über Jahre hinweg erstellt wurde braucht auch seine Zeit wieder gelöscht zu werden.
Wieviele Dateien werden denn aktuell pro Minute gelöscht? Dann ist das Ende ja absehbar ...
Legt diese auch erst im RAM eine Liste der Dateien an?
Gute Frage!Das ist möglicherweise die Achillesferse der Scriptvariante. Auch diese müsste beim File.Count erstmal die Anzahl der Dateien erfassen, um dann bei "if File.Count > 0" (in welcher Sprache auch immer) zu verzweigen.
Ich denke, der Weg über Backup/Recovery und Partition löschen/formatieren geht schneller. Vorausgesetzt, der Server kann mal für einen Tag offline gehen (z.B. am Wochenende).
Zitat von @emeriks:
Das ist möglicherweise die Achillesferse der Scriptvariante. Auch diese müsste beim File.Count erstmal die Anzahl der Dateien erfassen, um dann bei "if File.Count > 0" (in welcher Sprache auch immer) zu verzweigen.
Ich denke, der Weg über Backup/Recovery und Partition löschen/formatieren geht schneller. Vorausgesetzt, der Server kann mal für einen Tag offline gehen (z.B. am Wochenende).
Legt diese auch erst im RAM eine Liste der Dateien an?
Gute Frage!Das ist möglicherweise die Achillesferse der Scriptvariante. Auch diese müsste beim File.Count erstmal die Anzahl der Dateien erfassen, um dann bei "if File.Count > 0" (in welcher Sprache auch immer) zu verzweigen.
Ich denke, der Weg über Backup/Recovery und Partition löschen/formatieren geht schneller. Vorausgesetzt, der Server kann mal für einen Tag offline gehen (z.B. am Wochenende).
Ein Denkansatz:
In der Pipeline wird ein Objekt sofort nach dem erzeugen oder Bearbeiten an das nächste Cmdlet weitergegeben. Ausnahmen sind hier z.B. das Sort-Object Cmdlet das die Objekte sammeln muss um sie zu sortieren.
In unserem Beispiel wird jedes Objekt das Get-ChildItem erzeugt sofort einzeln an das ForEach-Object Cmdlet weitergegeben.
Dies verbraucht sehr wenig Arbeitsspeicher während der Abarbeitung.
Hier kann man sehr große Objekt mengen ohne Speicherprobleme verarbeiten.
Quelle: http://www.admin-source.de/BlogDeu/905/powershell-foreach-und-foreach-object
War auch mein Plan. Funktioniert nicht da Raid5
Wüßte onicht, daß knoppix das etwas ausmacht.
ggf. mal die raidtreiber laden?
lks
Wie @emeriks schon gesagt hat ist hier die MFT die Bremse, in dieser ist ja für jede Datei ein Eintrag hinterlegt welcher daraus entfernt werden muss = kostet entsprechend Zeit.
Also entweder warten oder den Vorschlag von emeriks beherzigen: Backup unter Ausschluss des betroffenen Verzeichnisses, formatieren und wiederherstellen.
Gruß grexit
Also entweder warten oder den Vorschlag von emeriks beherzigen: Backup unter Ausschluss des betroffenen Verzeichnisses, formatieren und wiederherstellen.
Gruß grexit
Mit der Powershell kannst Du den auch nicht (über Nacht) löschen?
Du solltest ACRONIS TRUE IMAGE (ATI) kennen und natürlich auch besitzen
Boote mit der ATI-CD, lege ein Image von dem Laufwerk C an, bei dem du diese
verdammten Errorlog-Order und die Errorlog-Dateien einfach vom Sichern
ausschließt. Natürlich die Image-Datei auf einer anderen Partition (auch extern) anlegen!
Sobald die Sicherung angelegt wurde, einfach das eben gesicherte wieder
zurück schreiben. ATI löscht die Partition (C: ) und legt sie neu an.
(Den MBR brauchst du nicht zurück kopieren!)
ATI ist extrem zuverlässig, relativ schnell und gar nicht teuer !!!
Bei Fragen zu ATI: Anleitung lesen, steht alles 'drin, was man wissen muss
Viel Erfolg.
Boote mit der ATI-CD, lege ein Image von dem Laufwerk C an, bei dem du diese
verdammten Errorlog-Order und die Errorlog-Dateien einfach vom Sichern
ausschließt. Natürlich die Image-Datei auf einer anderen Partition (auch extern) anlegen!
Sobald die Sicherung angelegt wurde, einfach das eben gesicherte wieder
zurück schreiben. ATI löscht die Partition (C: ) und legt sie neu an.
(Den MBR brauchst du nicht zurück kopieren!)
ATI ist extrem zuverlässig, relativ schnell und gar nicht teuer !!!
Bei Fragen zu ATI: Anleitung lesen, steht alles 'drin, was man wissen muss
Viel Erfolg.
Zitat von @alexdroid:
Gibt es eine Möglichkeit deltree auf ein aktuelles System zu bekommen?
Mit Deltree geht das um ein vielfaches schneller. Jedoch gab es das nur bis WIN98?!
Gibt es eine Möglichkeit deltree auf ein aktuelles System zu bekommen?
Mit Deltree geht das um ein vielfaches schneller. Jedoch gab es das nur bis WIN98?!
Mach doch cygwin drauf und lass ein rm -rfv auf das Verzeichis los.
lks
Wenn es nur im laufenden Betrieb geht, dann musst Du eben klassisch löschen. Aber mach es doch dann bitte einfach! Und lass es laufen! irgendwann ist er fertig. Du kannst hier 3 Tage diskutieren und probieren, immer wieder abbrechen. Oder Du lässt ihn in diesen 3 Tagen einfach löschen und hast es hinter Dir.
Kutscher: "Komme ich auf diesem Weg zur Stadt?"
Till: "Ja. Wenn Ihr langsam fahrt."
Eile mit Weile!
Kutscher: "Komme ich auf diesem Weg zur Stadt?"
Till: "Ja. Wenn Ihr langsam fahrt."
Eile mit Weile!
Zitat von @emeriks:
Wenn es nur im laufenden Betrieb geht, dann musst Du eben klassisch löschen. Aber mach es doch dann bitte einfach! Und lass es laufen! irgendwann ist er fertig.
Wenn es nur im laufenden Betrieb geht, dann musst Du eben klassisch löschen. Aber mach es doch dann bitte einfach! Und lass es laufen! irgendwann ist er fertig.
Mit den Bordmitteln offensichtlich nciht so ohne weiteres. Deswegen würde ich da nicht lange herumdoktorn (Nein, das ist nciht auf @keine-ahnung gemünzt) und einfach ein tool wie cygwin draufwerfen und ein rm -rfv loslassen.
lks
und das manuelle löschen geht so langsam, dass man es kaum merkt...
Mal ein Hinweis: Wenn Du ihm da parallel "auf die Finger guggst", dann bist Du derjenige, der das noch zusätzlich ausbremst. So wie die Feuerwehr wegen der Schaulustigen nicht arbeiten kann. Wie schon erwähnt: Allein das Auflisten (anzeigen, zählen) der Dateien kostet bei derart vielen davon viel Zeit, RAM und CPU.Konsole. CMD. Löschen. CMD minimieren (ja, wichtig!). Konsole sperren. 1x Tag nachschauen.
Zitat von @alexdroid:
rm -rfv ist nach 2 Sekunden fertig aber alle Dateien sind noch vorhanden.
Mit den Bordmitteln offensichtlich nciht so ohne weiteres. Deswegen würde ich da nicht lange herumdoktorn (Nein, das ist nciht auf @keine-ahnung gemünzt) und einfach ein tool wie cygwin draufwerfen und ein rm -rfv loslassen.
rm -rfv ist nach 2 Sekunden fertig aber alle Dateien sind noch vorhanden.
Auch mit den passenden Rechten gestartet und den richtigen ordner angegeben?
z.B.
rm -rfv /cygdrive/c/temp/logfiles
wenn das Verzeichnis "c:\temp\logfiles" wäre.
rm *.* dauert gefühlt genauso lange wie in der CMD
Das ist klar, weil er di wildcards erst auflösen muß. Du mußt als Parameter das Verzeichnis angeben.
lks
Danke für den Hinweis.... Leider habe ich das Problem und nicht du. Du darfst dich gerne hier aus der Diskussion ausklinken.
???Außerdem bringt das manuelle löschen 2mb in einer Stunde. Bringt nicht viel, wenn mehr als 2mb neue Daten hinzukommen.
Wo hattest Du das bisher schon erwähnt? Habe ich das überlesen? Die neuen Daten sind auch Logs in diesem Verzeichnis?Dienst anhalten.
Verzeichnis umbenennen. (ich hoffe das geht, sollte aber)
USB-Platte anhängen wenn physischer Server (sonst weitere virtuelle HDD anhängen)
diese Platte mit diesem Pfad des betreffenden Verzeichnisses einhängen. Entweder über mklink.exe oder einfach mit der MMC "Computerverwaltung"
Dienst wieder starten.
Dann hast Du Ruhe auf der C:-Platte. Die Logs landen jetzt auf dieser extra Platte.
Vorausgesetz, das Umbennenn des Ordners funktioniert, ist diese Aktion in ein paar Minuten erledigt.
Jetzt könntest Du Dich auf das Löschen konzentrieren.
PS: Oder gleich in der Software den Log-Pfad ändern ....
Außerdem bringt das manuelle löschen 2mb in einer Stunde. Bringt nicht viel, wenn mehr als 2mb neue Daten hinzukommen.
Du musst aber irgendwo anfangen.Ich habe alles was ich auslagern konnte, schon ausgelagert.
Was war das alles? Die üblichen Verdächtigen?- Hibernate File (abschalten)
- Page File
- C:\Windows\System32\Installer
- C:\Windows\System32\SoftwareDistribution
- Temp-Pfade
- Ordnerumleitung in den Benutzerprofilen der Admins
- möglicherweise vorhandene Dumpfiles von aufgetretenen Abstürzen (Bluescreens)
?
Da fällt mir doch gleich ein passendes Sprichwort ein:
"Wasch mich, mach mich aber bitte nicht nass!!"
Das Sichern dauert eine gute Viertelstunde, das Rücksichern geht sogar noch schneller.
Hier würde ich Prioritäten setzen. Entweder tagelanges, erfolgloses herumärgern oder
innert einer halben Stunde Nägel mit Köpfen machen und danach den ganzen Ärger
vergessen.
Wenn man den Verantwortlichen sachlich und vernünftig erklärt, dass sein System für
eine halbe Stunde nicht verfügbar sein wird, dann hat es in meiner über 30-jährigen
Berufserfahrung damit noch nie ein Problem gegeben. Jeder war froh, in der Aussicht,
danach ein Fehlerbereinigtes System zu haben...
Zudem könnte der ganze Aufwand zeitgleich mit einem Austausch der offensichtlich
doch schon recht betagten Festplatte erfolgen. Dann wären gleich 2 Fliegen mit einem
Rutsch erschlagen.Und wenn man dann auch noch berücksicht, dass man dadurch eine
SICHERHEITSKOPIE des Systemlaufwerks für irgendwelche Eventualitäten hat, dann gibt
es doch keine Alternative.
Ich frage mich allen Ernstes, ob Du Bastler, Hobbyst oder Fachman bist.... Sorry,
aber diese Frage drängt sich mir einfach in den Vordergrund.
Weiterhin fröhliches herummurksen bis zum Daten-GAU !
Dennoch einen alternativen Vorschlag: Nutze "Beyond Compare" (Hersteller: Scooter Software).
Die "Löscheinstellung" unbedingt auf direktes Löschen (nicht Papierkorb) einstellen. Dieses
Programm ist ebenfalls extrem zuverlässig, sehr schnell, intuitiv bedienbar, hat tolle Features
und kostet wenig!
"Wasch mich, mach mich aber bitte nicht nass!!"
Das Sichern dauert eine gute Viertelstunde, das Rücksichern geht sogar noch schneller.
Hier würde ich Prioritäten setzen. Entweder tagelanges, erfolgloses herumärgern oder
innert einer halben Stunde Nägel mit Köpfen machen und danach den ganzen Ärger
vergessen.
Wenn man den Verantwortlichen sachlich und vernünftig erklärt, dass sein System für
eine halbe Stunde nicht verfügbar sein wird, dann hat es in meiner über 30-jährigen
Berufserfahrung damit noch nie ein Problem gegeben. Jeder war froh, in der Aussicht,
danach ein Fehlerbereinigtes System zu haben...
Zudem könnte der ganze Aufwand zeitgleich mit einem Austausch der offensichtlich
doch schon recht betagten Festplatte erfolgen. Dann wären gleich 2 Fliegen mit einem
Rutsch erschlagen.Und wenn man dann auch noch berücksicht, dass man dadurch eine
SICHERHEITSKOPIE des Systemlaufwerks für irgendwelche Eventualitäten hat, dann gibt
es doch keine Alternative.
Ich frage mich allen Ernstes, ob Du Bastler, Hobbyst oder Fachman bist.... Sorry,
aber diese Frage drängt sich mir einfach in den Vordergrund.
Weiterhin fröhliches herummurksen bis zum Daten-GAU !
Dennoch einen alternativen Vorschlag: Nutze "Beyond Compare" (Hersteller: Scooter Software).
Die "Löscheinstellung" unbedingt auf direktes Löschen (nicht Papierkorb) einstellen. Dieses
Programm ist ebenfalls extrem zuverlässig, sehr schnell, intuitiv bedienbar, hat tolle Features
und kostet wenig!
Mach doch einfach ne for Schleife!?
Wie heissen denn die Dateinamen?
Wenn es Timestamps sind wuerde ich einfach hochzaehlen.
Oder Du loeschst einfach das Verzeichnis wo die Files drin liegen. damit werden alle unterliegenden Inodes ebenfalls ge-unlinkt, aber vom Filesystemtreiber und nicht von irgend ner high-level Applikation!
Machs aber auf jeden fall ueber ein Terminal.
Wie heissen denn die Dateinamen?
Wenn es Timestamps sind wuerde ich einfach hochzaehlen.
Oder Du loeschst einfach das Verzeichnis wo die Files drin liegen. damit werden alle unterliegenden Inodes ebenfalls ge-unlinkt, aber vom Filesystemtreiber und nicht von irgend ner high-level Applikation!
Machs aber auf jeden fall ueber ein Terminal.
Mit der PowerShell hat es auch nicht geklappt?
Abgesehen davon: Wenn der Kunde "jahrelang Probleme" hatte und sich dann (nach Jahren...) meldet, dann sollte er auch entsprechend kompromissbereit sein.
Was hier noch nicht betrachtet wurde und auch damit zusammenhängen könnte: Wurde auf dem Volume u.U. die Dateikomprimierung aktiviert?
Abgesehen davon: Wenn der Kunde "jahrelang Probleme" hatte und sich dann (nach Jahren...) meldet, dann sollte er auch entsprechend kompromissbereit sein.
Was hier noch nicht betrachtet wurde und auch damit zusammenhängen könnte: Wurde auf dem Volume u.U. die Dateikomprimierung aktiviert?
@alexdroid
Ich stimme Dir zwar zu, was Deine Antwort zu @McKilroy betrifft. Du musst Dich aber nicht wundern, wenn Du ein paar Randinformationen nicht erwähnst. Ich gehe davon uas, dass man Dir hier nur helfen will. Und manche Vorschläge wären nicht oder anders gekommen, wenn gewisse Informationen von Anfang an bekannt gewesen wären.
Systempartition
Produktivsystem
Mailserver
stetiger Datenzuwachs
4 TB Volume
Ich stimme Dir zwar zu, was Deine Antwort zu @McKilroy betrifft. Du musst Dich aber nicht wundern, wenn Du ein paar Randinformationen nicht erwähnst. Ich gehe davon uas, dass man Dir hier nur helfen will. Und manche Vorschläge wären nicht oder anders gekommen, wenn gewisse Informationen von Anfang an bekannt gewesen wären.
Systempartition
Produktivsystem
Mailserver
stetiger Datenzuwachs
4 TB Volume
Zitat von @emeriks:
Wurde auf dem Volume u.U. die Dateikomprimierung aktiviert?
Welche Auswirkung soll das auf den Löschvorgang haben? Oder auf die Auflistung der Datei?So rein pragmatisch würde ich mal sagen: Es könnte sich auf die Performance auswirken.
Ich habe übrigens gerade ein ähnliches Problem: Ein Kunde hat sich "ein neues Backup via Script" gebastelt und fleißig tagelang kopiert. Dabei hat er wohl nicht beachtet, dass in einem Quellordner sind, die ihre darübergeordneten Ordner beinhalten ("irgendwie" bekommt man so etwas wohl hin, indem man mit einem Apple auf einem SMB-Share "herumturnt") und jetzt wundert er sich, dass die 500GB Quelldaten nicht auf sein 4TB Ziel passen. So etwas nennt man wohl Rekursion
Die Zielordner kriege ich nicht gelöscht, was aber nicht dramatisch ist - zur Not lösche ich einfach die Shares auf dem NAS und richte sie noch mal neu ein (da ist ja nichts gelaufen).
Aktuell "experimentiere" ich allerdings gerade ein bisschen mit FilExile... - kennt das jemand?
Hallo,
Möglichkeit?
Systeme stoppen
Ordner umbenennen
Neuen Ordner auf einer anderen Platte angelegt und per MKLink dem Mailsystem zugänglich gemacht
Den alten Ordner eine Freigabe verpassen
Auf die Freigabe von einen externen Rechner zugreifen und von dort Löschen lassen. Das sollte dein Server dann nicht in die Knie zwingen und du hättest Zeit....
Gruß,
Peter
Zitat von @alexdroid:
einer Partition (4TB und nicht virtuell) die voll ist, wobei ohne die 60mio Errorlogs dann noch 3,75TB überbleiben
Und schon wieder eine neue vorher nicht bekannter Fakt. Und auch das deine Platte voll sei und du schon Probleme mit den laufenden Systemen dort hast weil eben nichts mehr frei ist....einer Partition (4TB und nicht virtuell) die voll ist, wobei ohne die 60mio Errorlogs dann noch 3,75TB überbleiben
Möglichkeit?
Systeme stoppen
Ordner umbenennen
Neuen Ordner auf einer anderen Platte angelegt und per MKLink dem Mailsystem zugänglich gemacht
Den alten Ordner eine Freigabe verpassen
Auf die Freigabe von einen externen Rechner zugreifen und von dort Löschen lassen. Das sollte dein Server dann nicht in die Knie zwingen und du hättest Zeit....
Gruß,
Peter
VOTE for UNSUBSCRIBE ....Der Thread ist ja wohl ein Witz ...so ein Trara um nichts.
Unter den Windows-Bordmitteln ist das hier die schnellste Methode... (del ist um das dreifache schneller als rd)
Gruß grexit
ob jemand einen Tipp für mich hat, wie ich die Dateien schneller löschen kann
Wie schon gesagt, die MFT will angepasst werden und das kostet nun mal Zeit.Unter den Windows-Bordmitteln ist das hier die schnellste Methode... (del ist um das dreifache schneller als rd)
del /f /s /q C:\Ordner >nul
rd /s /q C:\Ordner
Zitat von @alexdroid:
Naja es soll hier auch kein Diskussionsthread werden. Ich werde es nun wohl so über Cygwin laufen lassen.
Naja es soll hier auch kein Diskussionsthread werden. Ich werde es nun wohl so über Cygwin laufen lassen.
Dann solltest Du ggf rm -rf statt rm -rvf nehmen. "-v" nimmt man normerweise, um zu schauen für welche Dateien es z uspät ist. Die Ausgabe der zeilen bremst natürlich den Befehl. es soltle also ohne "-v" deutlich schneller gehen.
lks
Zitat von @122990:
so ein Trara um nichts.
so ein Trara um nichts.
"Aufmerksamkeit" ist nicht "nichts"
Alex, auch wenn es Dir nicht passt, dass ich versuchte Dir zu helfen, kann ich deine Kommentare so nicht stehen lassen.
In Deiner 1. Nachricht schreibst Du klar und deutlich:
"..ein Kunde hatte jahrelang ein Problem mit einer Software und diese hat sehr viele (60 MIO!!!!!!) Errorlogs (1KB) in einen Ordner geschrieben."
Wenn eine Platte jahrelang durchgehend läuft, dann ist eine Platte "betagt". Wenn Du mich hier blos stellen willst, und indirekt behauptest, dass es sich hier um eine neuwertige Platte handelt, dann bittesehr, ich habe einen breiten Rücken ...
Scheinbar hast Du es nicht kapiert, dass ich Dir ein zusätzliches Argument zum Abschalten des 'Rechners geben wollte.
Eine "Partition C: " als RAID 5 mit 4 TB ist wirklich höchst ungewöhnlich. Ja, ich habe dies tatsächlich übersehen und ging von einer "üblichen" Grüße aus. Sorry, es war wirklich mein Fehler meinerseits. Allerdings habe ich nicht damit gerechnet, dass Du mir daraus einen Strick drehen willst, was Dir ganz toll gelungen ist.
Auch möchte mich aufrichtig entschuldigen, dass ich Dir sogar 2 mal versucht habe zu helfen. Es wird definitiv nicht wieder vorkommen, zudem Du auf den Hinweis zu "BC" mit keiner Silbe eingingst. Ein winziges "Danke" von Dir zu erwarten, war ebenfalls ein Fehler von mir. Auch hier ein aufrichtiges "great excuse" von mir.
Dass Du Dich für Tipps äusserst selten bedankst, habe ich auch übersehen, ebenso, dass Du einen langen Schlips trägst, auf den man leicht treten treten kann. Und siehe da, mir ist es prompt passiert: Ich bin auf ihn getreten. Kommt auch ganz gewiss nicht mehr vor, denn ich habe nicht vor, mich mit Dir zu streiten. ICH bin ein friedliebender Mensch.
Danke für Deinen guten Wunsch, er ging bereits in Erfüllung.
In Deiner 1. Nachricht schreibst Du klar und deutlich:
"..ein Kunde hatte jahrelang ein Problem mit einer Software und diese hat sehr viele (60 MIO!!!!!!) Errorlogs (1KB) in einen Ordner geschrieben."
Wenn eine Platte jahrelang durchgehend läuft, dann ist eine Platte "betagt". Wenn Du mich hier blos stellen willst, und indirekt behauptest, dass es sich hier um eine neuwertige Platte handelt, dann bittesehr, ich habe einen breiten Rücken ...
Scheinbar hast Du es nicht kapiert, dass ich Dir ein zusätzliches Argument zum Abschalten des 'Rechners geben wollte.
Eine "Partition C: " als RAID 5 mit 4 TB ist wirklich höchst ungewöhnlich. Ja, ich habe dies tatsächlich übersehen und ging von einer "üblichen" Grüße aus. Sorry, es war wirklich mein Fehler meinerseits. Allerdings habe ich nicht damit gerechnet, dass Du mir daraus einen Strick drehen willst, was Dir ganz toll gelungen ist.
Auch möchte mich aufrichtig entschuldigen, dass ich Dir sogar 2 mal versucht habe zu helfen. Es wird definitiv nicht wieder vorkommen, zudem Du auf den Hinweis zu "BC" mit keiner Silbe eingingst. Ein winziges "Danke" von Dir zu erwarten, war ebenfalls ein Fehler von mir. Auch hier ein aufrichtiges "great excuse" von mir.
Dass Du Dich für Tipps äusserst selten bedankst, habe ich auch übersehen, ebenso, dass Du einen langen Schlips trägst, auf den man leicht treten treten kann. Und siehe da, mir ist es prompt passiert: Ich bin auf ihn getreten. Kommt auch ganz gewiss nicht mehr vor, denn ich habe nicht vor, mich mit Dir zu streiten. ICH bin ein friedliebender Mensch.
Danke für Deinen guten Wunsch, er ging bereits in Erfüllung.
Der Vollständigkeit halber wollte ich noch mal anmerken, dass "mein" Löschvorgang mit FilExile ebenfalls erfolgreich war
Allerdings musste ich zusätzlich noch die Zugriffsberechtigungen im zu löschenden Ordner setzen und gelegentlich kommt es auch vor, dass robocopy - wenn es denn abgewürgt wird - "doofe" Dateiattribute zurücklässt, so dass ich rekursiv das System-, das ReadOnly- und das Hidden-Flag zurücksetzen musste.
Allerdings musste ich zusätzlich noch die Zugriffsberechtigungen im zu löschenden Ordner setzen und gelegentlich kommt es auch vor, dass robocopy - wenn es denn abgewürgt wird - "doofe" Dateiattribute zurücklässt, so dass ich rekursiv das System-, das ReadOnly- und das Hidden-Flag zurücksetzen musste.
Hallo,
Habe ich nicht erkennen können. Sorry dafür. Warum nicht erkennen können? Deine Infos kommen Krümelweise...
Nur so ein paar Ideen....
Gruß,
Peter
Habe ich nicht erkennen können. Sorry dafür. Warum nicht erkennen können? Deine Infos kommen Krümelweise...
Das hat auch nichts mit der Frage zu tun.
Naja, uns hast du im glauben gelassen das deine Ordner mit den 10 Millionen Dateien aus dein Mailsystem kommen / kamen....Habe einen neuen Ordner angelegt, in dem neue Logfiles abgelegt werden
Auch das wussten wir bis dato nicht. Sorry. Nur das angeblich mehr Daten auf der Platte abgelegt werden als im gleichen Zeitraum gelöscht werden. Wobei dein NTFS für dein fast vollständig belegte 4 TB (RAID) Platte ja auch noch von dein Serversystem vorgehalten werden muss - was natürlich hier schon Leistung abverlangt, und dann noch deine Systemplatte.....Es soll lediglich um das Löschen des vorhandenen Ordners gehen.
Dann lass einen externen rechner das machen per Freigabe. Dann hat dein Server nicht so viel zu tun und bleibt weder stehen noch beenden sich deine CMD Prozesse wegen RAM und dann HDD Platzmangel. Ich würde dem dazu eine eigene LAN Karte geben und diese mit 100 MBit/S betreiben, eben um das System bewusst zu bremsen, aber lauffähig zu halten bis etliche Millionen Dateien endgültig gelöscht sind....Nur so ein paar Ideen....
Gruß,
Peter
Ich stehe regelmäßig vor eine ähnlichen Problem, nun legut für mich ist es kein Problem, weils nur
ca 1 Mio Dateien sind, und da dauert das Löschen bei den betroffenen Systemen schon mal einige Zeit (1h .... max 3h). Da ich keine Dateien in diesen Ordner ausschliessen muss, erledige ich das einfach auf der Koandozeile mit DEL *.* /Q und warte ab bis es fertig ist.
Jede weitere Herusucherei über eine weitere Komandozeile oder anderes Tool ist absolut kontraproduktiv. Ich lass es einfach und es wird fertig. Schneller gehts halt nicht.
Wenn ich spezielle Filter berücksichtigen uss (dateigröße, Datum,..) bin ich am weitaus effizientesten, wenn ich mir ein kleines Programm in einer ordentlichen Programmiersprache schreibe (C oder sowas),
in einer Schleife (Findfirst / Findnext) wird eine Datei nach der anderen geprüft ob sie zu löschen ist, wenn ja sofort löschen, einen counter erhöhen und auf GUI anzeigen, ein processmessages und weiter gehts. Jedwede (Vor)sortierei führt bei einer so hohen Anzahl an Dateien praktisch immer ad absurdu.
60 Mio sind für NTFS nicht viel, nur sollte man sich bei dieser Anzahl bewusst sein, dass die meisten Algorithmen der diversen Dateimanager so schlecht skalieren, dass vorher das Universum EOL ist.
Klickibunti-Explodierer kommt ja oft schon bei ein paar tausend Dateien ins Schwitzen.
greetings
ca 1 Mio Dateien sind, und da dauert das Löschen bei den betroffenen Systemen schon mal einige Zeit (1h .... max 3h). Da ich keine Dateien in diesen Ordner ausschliessen muss, erledige ich das einfach auf der Koandozeile mit DEL *.* /Q und warte ab bis es fertig ist.
Jede weitere Herusucherei über eine weitere Komandozeile oder anderes Tool ist absolut kontraproduktiv. Ich lass es einfach und es wird fertig. Schneller gehts halt nicht.
Wenn ich spezielle Filter berücksichtigen uss (dateigröße, Datum,..) bin ich am weitaus effizientesten, wenn ich mir ein kleines Programm in einer ordentlichen Programmiersprache schreibe (C oder sowas),
in einer Schleife (Findfirst / Findnext) wird eine Datei nach der anderen geprüft ob sie zu löschen ist, wenn ja sofort löschen, einen counter erhöhen und auf GUI anzeigen, ein processmessages und weiter gehts. Jedwede (Vor)sortierei führt bei einer so hohen Anzahl an Dateien praktisch immer ad absurdu.
60 Mio sind für NTFS nicht viel, nur sollte man sich bei dieser Anzahl bewusst sein, dass die meisten Algorithmen der diversen Dateimanager so schlecht skalieren, dass vorher das Universum EOL ist.
Klickibunti-Explodierer kommt ja oft schon bei ein paar tausend Dateien ins Schwitzen.
greetings