sisyphusloughs
Goto Top

Wie kann man sicher sehr kleine Dateien (und viele Verzeichnisse) kopieren?

Viele Computer (Windows XP/7) sind nicht in der Lage, Verzeichnisse mit sehr vielen sehr kleinen Dateien zu kopieren oder ein Tar-Archiv zu entpacken

Hi,

ich muss eine Verzeichnisstruktur auf mehreren Computern verteilen, die aus sehr kleinen Bildern mit vielen Verzeichnissen besteht. Die reine Größe der der Dateien entspricht dabei ca. 250 MB; auf einer NTFS-Partition nimmt das aber 2,5 GB in Anspruch. Das liegt daran, dass die Bilder selbst oft sehr klein sind und diese aber in einer 3-stufigen Ordner-Hierarchie gespeichert werden müssen. Da scheint die Verwaltung mehr Platz zu brauchen, als die Daten selbst. An der Datenstruktur kann ich aber leider nichts ändern.

Mir ist es gelungen mit einem Freeware-Tool (7-Zip) ein Tar dieser Verzeichnisse und Datein auf einem sehr leistungsfähigen Windows-7-Computer zu erzeugen; auf einigen Computern kann ich das Tar auch entpacken -- eigentlich nur ent-taren, da die Dateien ja nicht komprimiert sind --, auf anderen nicht. Windows XP Computer geben manchmal unzureichende Systemrresourcen als Fehlerursache an; die Windows-7-Meldung lautet ähnlich. Auch das Kopieren über den Windowsexplorer schlägt mit ähnlicher Begründung fehl.

Als Tool zum entpacken des Tars habe ich TarTool (http://tartool.codeplex.com) verwendet, auf die mich meine Recherche im Internet gebracht hat. Zwar funktioniert damit das Ent-Taren auf mehr Comnputern, als mit 7-Zip, aber auch nicht auf allen Computern, die diese Daten benötigen.

Hat jemand einen Rat?

Content-Key: 166185

Url: https://administrator.de/contentid/166185

Printed on: April 18, 2024 at 14:04 o'clock

Mitglied: 60730
60730 May 12, 2011 at 18:50:28 (UTC)
Goto Top
moin,

7Zip ist doch perfekt...

In meinen früheren Zeiten (als ich noch keine Softwareverteilung hatte), hab ich sfx 7zips auf die Kisten geschickt und die dort entpackt, das waren entpackte 900 MB - 1.3 GB *sick* (Clientsoftware), die ich zu 400 MB zusammengezippt hatte.
Und damals hatten wir W2k0 und XP mit 512 MB Ram.

Gehen tut das, würd ich heute (dank meiner Softwareverteilung) zwar nicht mehr machen - aber in der Not frisst der Teufel Fliegen.

Gruß
Member: Sisyphusloughs
Sisyphusloughs May 12, 2011 at 19:57:16 (UTC)
Goto Top
Das war auch mein erster Versuch. Leider friert mir 7Zip auch manchmal ein. Dabei geht sogar das System in die Knie. Windows-Fenster werden nur noch unvollständig gezeichnet, viele Programme werfen auf einmal irgendwelche Fehler... Um das System wieder in den Griff zu bekommen, musste ich bein den Maschinen 7Zip mit dem Taskmanager beenden und den Explorer neu starten...
Mitglied: 60730
60730 May 12, 2011 at 20:03:59 (UTC)
Goto Top
  • hmmm...

  • was läuft denn für ein Virenscanner?
dass die Bilder selbst oft sehr klein sind und diese aber in einer 3-stufigen Ordner-Hierarchie gespeichert

  • was passiert, wenn du die 3 Stufige Ordnerhierarchie als Grund nimmst, 3 Zips zu verteilen?
Member: Sisyphusloughs
Sisyphusloughs May 12, 2011 at 20:31:13 (UTC)
Goto Top
danke für die Antwort,

Also bei den Rechnern ist überall Kaspersky installiert... Falls er schuld sein sollte, wüsste ich aber auch nicht, wie ich ihn umgehen kann. An die Richtlinien komme ich nicht ran. Außerdem ist der auf auf den Computern installiert, die das Ent-Taren oder Kopieren hinkriegen.

Bezüglich der Ordner-Hierarchie habe ich mich unvollständig ausgedrückt. ich stell das mal dar:

0\4\2
0\4\3
0\3\2
0\3\3
0\3\4
usw...

Insgesamt sind es ca. 2000 Ordner.
Es sind 550.000 Bilder, die meist nur 100 Bite groß sind.

Mein Verdacht ist, dass manche Platten als das nicht verkraften....
Mitglied: 60730
60730 May 12, 2011 at 20:46:28 (UTC)
Goto Top
Mein Verdacht ist, dass manche Platten als das nicht verkraften....

  • naja - das würde ich aber schon vorher testen...

ungetestet
for /f "tokens=2-5 delims=,." %a in ('dir c:\ ^|find "Verz"') do if %b leq 750 if %a leq 2 echo mach Platz da, für den Mazda

back-to-topedit

2.5 GB + 250 MB sollten frei sein

Gruß
Member: horst98
horst98 May 13, 2011 at 05:49:06 (UTC)
Goto Top
Erlaube mir etwas Kritik und einen anderen Blickwinkel. Ich nehme an, es geht um Zoomify-Bilder. Das kenne ich zur Genüge. Da fällt schon ganz schön was an.

Wenn man den Overhead (Leerplatz) der kleinen Dateien vermeiden will, dann sollte doch die im NTFS eingebaute Komprimierung des Filesystems helfen. Ich bin mir nicht sicher - ich meine aber das arbeitet über Sektoren hinweg. Der Nachteil ist die erhöhte CPU-Last beim Zugriff auf die Dateien, weil sie ja entpackt werden müssen. Da die Bildfiles vermutlich jpg sind (wenn es Zoomify ist), kann man die eigentlichen Daten nicht komprimieren.

Zum Kopieren von so großen Datenmengen hat sich bei mir der DOS-Befehl XCOPY q:\dir1 z:\dir2 /s/e/v sehr gut bewährt. Den kann man nebenbei sehr gut in einem Konsolenfenster laufen lassen und der belastet den Fenster-Manager von Windows mit dem kratteligen Explorer nicht.

Am Ende stellt sich mir die Frage, ob man all diese kleinen Dateien transferieren sollte oder ob man nicht besser einen Netzwerkzugriff über einen Server (oder ein freigegebenes Laufwerk auf einem Client) zur Verfügung stellt. Von den Dateien werden in der Regel ja nur sehr wenige aufgerufen, sonst hätte man sie ja nicht geteilt. Und so ein starker, redundanter Datenpool widerstrebt dem IT-ler in mir. Man stelle sich nur die regelmäßigen Updates vor. brrrr.

justmy2cents
Member: Sisyphusloughs
Sisyphusloughs May 13, 2011 at 10:58:13 (UTC)
Goto Top
Hi horst98,

Ich kenne Zoomify nicht, aber es ist, nachdem was ich gerade gelesen habe, ein ähnlicher Fall. Hier geht es um Karten-Ausschnitte, die als Tiles/Kachel als Hintergrundkarte für geographischer Informationssysteme gespeichert werden. I.d.R. holt man die von einem Server, aber wenn man sie lokal speichert, ist die Anzeige rasend schnell.

Das Problem ist nicht die Speicherung, sondern die Verteilung, da die Tiles zu Schulungzwecken beim Kunden ausgerollt werden sollen/müssen. Ich mache mir jetzt Sorgen, wie man das hinkriegt.

Gruß

P.S. ich habe es immer noch nicht hinbekommen. Xcopy ist für den Anwendungsfall wahrscheinlich nicht möglich, da ich für die Schulungsrechner nicht davon ausgehen kann, eine Netzwerkfreigabe einrichten zu können & ich die Dateien weder auf eine CD noch auf eine USB bekommen habe; nur als Tar. Winrar schafft es auch nicht.
Member: Snowman25
Snowman25 May 16, 2011 at 08:22:34 (UTC)
Goto Top
Zitat von @Sisyphusloughs:
Ich kenne Zoomify nicht, aber es ist, nachdem was ich gerade gelesen habe, ein ähnlicher Fall. Hier geht es um
Karten-Ausschnitte, die als Tiles/Kachel als Hintergrundkarte für geographischer Informationssysteme gespeichert werden.
I.d.R. holt man die von einem Server, aber wenn man sie lokal speichert, ist die Anzeige rasend schnell.
Hallo @Sisyphusloughs,

Ich kenne dein Problem. Ich arbeite in einem Vermesserunternehmen. Für solche Fälle gibt es eigentlich spezielle ImageServer-Systeme. Solche haben wir auch schon selbst entwickelt. Wie die Bilder bei dir nur wenige Bytes groß sein können, ist mir allerdings unklar. Tiles mit 10x10 Pixel sind für keinen Zweck zu gebrauchen. Wirtschaftlicher wären größere Tiles. Somal diese weniger Speicherplatz-Overhead generieren und die Anwendung auch nicht viel langsamer machen sollten.

Wenn die Daten nicht geändert werden, dann wäre für dich ein kleiner Storage-Server mit einem passenden Filesystem auf einer SSD die absolut bessere Variante. Selbst bei einer mittelgroßen Useranzahl, müsste das System dann noch mit der gewohnten Geschwindigkeit laufen.

Gruß
Snow
Member: Sisyphusloughs
Sisyphusloughs May 16, 2011 at 13:54:40 (UTC)
Goto Top
Hallo Snow,

Das ist im Prinzip absolut richtig; der hier verwendete Gis-Server speichert daher aus gutem Grund die Dateien als Metatils (64*64); hier geht es aber um eine sehr kleine Menge an Benutzern, für die ein Setup eines Server überdimensioniert erschien... vielleicht ist das in Anbetracht der Tatsache zu revidieren, da es eine Lösung nicht zu geben scheint. Winrar schlägt fehl, NT-Backup schlägt auch fehl.... Interessant ist auch, dass es auf einigen Computern funktioniert, auf anderen nicht. Aber in Muster konnte ich nicht ausmachen (64-Bit, Mehr-Prozessor, Win7 vs. XP, mit oder ohne Anti-Virus... Fehlanzeige: mal funktionierts, mal nicht).

Gruß,
Sisiphus
Member: TuXHunt3R
TuXHunt3R May 16, 2011 at 18:57:07 (UTC)
Goto Top
Tag

robocopy QUELLE ZIEL /mir /r:5 /w:5 /log:C:\logfile.txt

Das in einem CMD-Fenster ausführen. Es gibt nichts zuverlässigeres in der Windows Welt (meine Meinung).

EDIT:
Und du hast auch noch gleich ein Logfile, wo schön geschrieben steht, wenn was fehlt....
Member: Sisyphusloughs
Sisyphusloughs May 16, 2011 at 22:44:34 (UTC)
Goto Top
Ja, normalerweise mache ich auch so trouble-shooting.... In meinem Fall werfen nicht alle Computer Fehler, sondern brechen schlicht ab, oder werden mit der Zeit unbedienbar, ohne dass das Log etwas aus. Immerhin haben ein paar XP-Computer das hier gemeldet: "xxxx kann nicht kopiert werden: nicht genügend Systemressourcen, um den angeforderten Dienst auszuführen". Das führte mich zu:

http://support.microsoft.com/kb/259837/de

Der Artikel sagt aus, dass es unter Windows 2000 ein Problem mit der "gepufferte Eingabe/Ausgabe (e/A)" beim Kopieren einer großer Dateien in den Funktionen CopyFileEx und CopyFile gibt. Diese werden auch von Robocopy und anderen Tools verwendet. Tja ich verwende ganz bestimmt kein Windows 2000 und mein Fall ist etwas anders gelagert, aber ich vermute es betrifft die gepufferte Ein- und Ausgabe auch. Robocopy und NT-Backup funktioneren auch nicht.

Ich bleibe ratlos.