Der einfachste Weg, ein Verzeichnis über FTP zu duplizieren

9

Ich möchte ein Verzeichnis auf einem FTP-Server duplizieren, mit dem ich über die Befehlszeile von meinem Mac aus verbunden bin

Nehmen wir an, ich habe file. Ich möchte files2mit allen fileUnterverzeichnissen und Dateien im selben Verzeichnis wie das Original haben. Was wäre der einfachste Weg, um dies zu erreichen?

BEARBEITEN:

Mit mgetund mputSie könnten alle Dateien herunterladen und erneut in einen anderen Ordner hochladen, aber dies ist definitiv NICHT das, was ich will / brauche (ich habe diese Frage gestartet, um zu vermeiden, dass diese Download-Upload-Methode vom dektop-Client dupliziert wird).

Trufa
quelle

Antworten:

8

Was Sie haben, ist keine Unix-Befehlszeile, sondern eine FTP-Sitzung. FTP dient in erster Linie zum Hoch- und Herunterladen von Dateien, ist nicht für die allgemeine Dateiverwaltung vorgesehen und lässt Sie keine beliebigen Befehle auf dem Server ausführen. Insbesondere gibt es meines Wissens keine Möglichkeit, eine Dateikopie auf dem Server auszulösen: Sie können die Datei nur herunterladen und dann unter einem anderen Namen hochladen.

Einige Server unterstützen Erweiterungen des FTP-Protokolls, und es ist remote möglich, dass Sie mit einer dieser Erweiterungen Remote-Dateien kopieren können. Versuchen Sie help siteoder remotehelpsehen Sie, welche Erweiterungen der Server unterstützt.

Wenn Sie eine Unix - Kommandozeile mögen, müssen Sie Remote - Shell - Zugang, über rsh ( r Emote sh ell) oder häufiger im 21. Jahrhundert ssh ( s ecure sh ell). Wenn dies ein Webhost ist, überprüfen Sie, ob er SSH-Zugriff bietet. Andernfalls wenden Sie sich an den Systemadministrator. Aber wundern Sie sich nicht, wenn die Antwort Nein lautet: Der Befehlszeilenzugriff würde bei einigen Mehrbenutzer-Setups eine Sicherheitsverletzung darstellen. Daher kann es einen legitimen Grund geben, warum er nicht angeboten wird.

Gilles 'SO - hör auf böse zu sein'
quelle
Ich werde es mir ansehen, ich denke, das fasst das ganze Thema sehr gut zusammen !! Vielen Dank!!
Trufa
Zur Verdeutlichung bietet Hostgator inhaftiertes SSH in gemeinsam genutzten Konten an.
Trufa
4

So geht's mit lFTP :

# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)
mbrixner
quelle
1

Dies ist jetzt falsch, aber nicht gelöscht, damit der Kommentarbaum nicht verloren geht

cpkopiert Dateien und Verzeichnisse; Sie können ihm das -rFlag geben, damit er alles rekursiv kopiert. Aus dem Ordner, der enthält file:

$ cp -r file files2

Michael Mrozek
quelle
Es scheint nicht zu funktionieren, ich habe nicht erwähnt (weil ich dachte, dass es dasselbe wäre), dass ich versuche, dies über eine FTP-Verbindung zu tun, die von einem Mac-Terminal hergestellt wurde. Es gibt mir diesen Fehler: 'cp' Makro nicht gefunden. Vielen Dank
Trufa
2
@Trufa Oh! Nein, das ist ganz anders. FTP und die Befehlszeile sind vollständig getrennt. Ich habe Ihre Frage bearbeitet, um sie hoffentlich zu klären
Michael Mrozek
Es tut mir so leid, aber es würde mir nichts ausmachen, weil "ich die UNIX-Befehlszeile über FTP verwendet habe", dies ist offensichtlich nicht der Fall! Danke für die Bearbeitung !!
Trufa
Ist dies eine Frage für den Stackoverflow? Es ist vielleicht eher eine Programmierfrage als eine UNIX-Frage, ich bin mir nicht sicher.
Trufa
2
@Trufa Auf keinen Fall SO. Vielleicht SU, aber ich denke, es ist in Ordnung hier
Michael Mrozek
1

LFTP unterstützt übergeordnete Befehle, die über das FTP-Protokoll hinausgehen. Dermirror Befehl bietet beispielsweise das, was Sie möchten.

Es gibt andere Programme mit ähnlichen Funktionen. Sitecopy ist ein weiteres Beispiel.

kurzlebig
quelle
Danke "" sieht gut aus, werde mal schauen! Noch eine Frage, wenn ich über das cPanel zum Dateiverwalter komme? Was mache ich, denn es scheint verdammt schneller zu sein, einige Dinge zu tun als durch FTP.
Trufa