130.000 jpg-Dateien auf dem Server kopieren

Dann frag doch vor Ort nach, ob die das eben machen können, da werden ja auch fähige Leute sitzen, die Dateien von A nach B übertragen können.
Klar, könnte man machen. Die werden sich freuen ;) - und vermutlich auch gleich eine Rechnung austellen falls sowas nicht im Vertrag mit drin ist.

@annalena49: Warum willst du denn eigentlich alles kopieren? Würde es nicht ausreichen die Dateien zu verlinken?

Gruß
 
Ich meinte es ja auch eher so:

ssh user1@domain.de
$ > cd /verzeichnis/wo/die/zu/kopierenden/dateien/liegen
$ > scp * user2@domain.de:/zielverzeichnis/auf/dem/gleichen/rechner

Bei cp hast du das Problem, das man als user1 nicht in das Zielverzeichnis des user2 schreiben darf. Bei scp hast du das Problem nicht, genau wie bei ftp. Klar ist scp langsamer, da verschlüsselt wird. Das ist aber alle mal schneller als FTP auf heimrechner runterladen und dann wieder hoch zu laden.
 
Ich meinte es ja auch eher so:

ssh user1@domain.de
$ > cd /verzeichnis/wo/die/zu/kopierenden/dateien/liegen
$ > scp * user2@domain.de:/zielverzeichnis/auf/dem/gleichen/rechner

Bei cp hast du das Problem, das man als user1 nicht in das Zielverzeichnis des user2 schreiben darf.
Das ist nicht das Problem. Das Problem ist, dass man nicht 130.000 Dateienamen auf der Kommandozeile angeben kann, da das Limit ca. 2 Mio. Zeichen sind. (Fehlermeldung: Die Argumentliste ist zu lang)
Bei scp hast du das Problem nicht, genau wie bei ftp. Klar ist scp langsamer, da verschlüsselt wird. Das ist aber alle mal schneller als FTP auf heimrechner runterladen und dann wieder hoch zu laden.
Das war auch nicht die Absicht, sondern es lokal zu tun - genau so wie du mit scp.

Gruß
 
Zuletzt bearbeitet:
@deepthroat
die Bilder werden definitiv 'körperlich' dort in dem Verzeichnis verlangt, Verlinkung ist nicht möglich.
Habe die von dir vorgeschlagenen Möglichkeiten durchprobiert, kommt auch keine Fehlermeldung mehr, aber im Zielverzeichnis kommt auch nichts an.
Durchaus möglich, das dabei wieder ein Limit überschritten wird. 130.000 jpg-Dateien sind nicht ganz ohne. Aber mit nur wenigen Testbildern habe ich es auch noch nicht hinbekommen.

@Chumper
die führen das schon für einem aus, aber die Rechnung die dann kommt kann sich sehen lassen. Hatte ich schon mal gemacht, nur den Server 1x Neustart - seit dem kenne ich meinen 1. SSH-Befehl 'shutdown -r now' :)
 
@deepthroat
die Bilder werden definitiv 'körperlich' dort in dem Verzeichnis verlangt, Verlinkung ist nicht möglich.
Habe die von dir vorgeschlagenen Möglichkeiten durchprobiert, kommt auch keine Fehlermeldung mehr, aber im Zielverzeichnis kommt auch nichts an.
Durchaus möglich, das dabei wieder ein Limit überschritten wird. 130.000 jpg-Dateien sind nicht ganz ohne. Aber mit nur wenigen Testbildern habe ich es auch noch nicht hinbekommen.
Dann hast du etwas falsch gemacht. Während des Vorgangs werden alle Dateien ausgegeben die kopiert werden. Bist du denn wirklich in dem richtigen Verzeichnis und heißen die Dateien auch *.jpg ?

\edit: Werden die Dateien denn alle mit
Bash:
find . -maxdepth 1 -iname '*.jpg'
aufgelistet? Wenn dabei nichts aufgelistet wird, wird auch nichts kopiert.

Gruß
 
Zuletzt bearbeitet:
Habe nich alles gelesen - aber es gibt doch auch ein move oder?
Würde bei 130.000 Dateien sicher nen moment dauern, da jeder Befehl für jede Datei einzelnd abgesetzt werden muss soweit ich weiß - aber wär auch ne Lösung ;)
 
@Klein0r
würde mit move nicht auch gleich das zulässige Limit erreicht?

@deepthroat
habe nochmal rumprobiert, das Quellverzeichnis mit einigen Testdaten wird gefunden und die einzelnen Dateien aufgelistet
find . -maxdepth 1 -iname '*.jpg'
./0380037.jpg
./0380033.jpg
./0380004.jpg
./0380014.jpg
./0380027.jpg
./0380085.jpg
./0380098.jpg
./0380086.jpg
./0380123.jpg

folgendes klappt dann jedoch nicht mehr
Code:
cd /var/www/web95/html/cat/bild1
tar -c --null -T <(find . -maxdepth 1 -iname '*.jpg'  -print0) -f - | tar -xvf - -C /var/www/web95/html/cat/bild3
Fehlermeldung:
tar: /dev/fd/63: Cannot stat: No such file or directorytar: Error is not recoverable: exiting now
Das Verzeichnis ist natürlich vorhanden und mit Rechte 777 versehen.

Was ist hier noch falsch?
 
@deepthroat
habe nochmal rumprobiert, das Quellverzeichnis mit einigen Testdaten wird gefunden und die einzelnen Dateien aufgelistet
find . -maxdepth 1 -iname '*.jpg'
./0380037.jpg
./0380033.jpg
./0380004.jpg
./0380014.jpg
./0380027.jpg
./0380085.jpg
./0380098.jpg
./0380086.jpg
./0380123.jpg

folgendes klappt dann jedoch nicht mehr
Code:
cd /var/www/web95/html/cat/bild1
tar -c --null -T <(find . -maxdepth 1 -iname '*.jpg'  -print0) -f - | tar -xvf - -C /var/www/web95/html/cat/bild3
Fehlermeldung:
tar: /dev/fd/63: Cannot stat: No such file or directorytar: Error is not recoverable: exiting now
Das Verzeichnis ist natürlich vorhanden und mit Rechte 777 versehen.

Was ist hier noch falsch?
Entweder können in dem bild1 Verzeichnis keine Dateien gefunden werden, oder du bist evtl. auf einen Fehler in der Shell bzw. tar gestoßen. (welche Versionen hast du denn?)

Macht aber nix, dann mach es halt schrittweise:
Bash:
find . -maxdepth 1 -iname '*.jpg'  -print0 > /tmp/files_to_copy
tar -c --null -T /tmp/files_to_copy -f - | tar -xvf - -C /var/www/web95/html/cat/bild3
Dabei kannst du gleich nach dem 1. Schritt kontrollieren welche Dateien kopiert werden würden.

Gruß
 
@deepthroat

mit der schrittweisen Vorgehensweise über die /tmp/ hat es nun geklappt.
Vielen Dank für Deine Ausdauer :)
Hat mir doch sehr geholfen.

Schöne Grüße
Annalena
 

Neue Beiträge

Zurück