Frage

Ich versuche, einen Ordner ftp der Befehlszeilen FTP-Client verwenden, aber bisher habe ich nur in der Lage gewesen, verwenden ‚get‘ einzelne Dateien zu erhalten.

War es hilfreich?

Lösung

Sie auf wget verlassen konnten, die in der Regel ftp richtig (zumindest in meiner eigenen Erfahrung) erhalten behandelt. Zum Beispiel:

wget -r ftp://user:pass@server.com/

Sie können auch -m verwenden, die für die Spiegelung geeignet ist. Es ist derzeit das entspricht -r -N -l inf.

Wenn Sie einige Sonderzeichen in den Berechtigungsnachweis Details haben, können Sie die --user und --password Argumente angeben, um es an die Arbeit. Beispiel mit benutzerdefinierter Login mit spezifischen Zeichen:

wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/

Bearbeiten Wie durch @asmaier wies darauf hin, aufpassen, dass selbst wenn -r für Rekursion ist, ist es eine Standard-Maximalstufe von 5:

       -r
       --recursive
           Turn on recursive retrieving.

       -l depth
       --level=depth
           Specify recursion maximum depth level depth.  The default maximum depth is 5.

Wenn Sie wollen subdirs nicht verpassen, besser verwenden, um die Spiegelung Option, -m:

       -m
       --mirror
           Turn on options suitable for mirroring.  This option turns on recursion and time-stamping, sets infinite
           recursion depth and keeps FTP directory listings.  It is currently equivalent to -r -N -l inf
           --no-remove-listing.

Andere Tipps

Just ergänzen die Antwort von Thibaut Barrère.

I verwendet

wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory

Beachten Sie den doppelten Schrägstrich nach dem Servernamen. Wenn ich der Pfad zum Home-Verzeichnis des Benutzers ist relativ keinen zusätzlichen Schrägstrich setzen.

  • -nH vermeidet die Erstellung eines Verzeichnisses nach dem Servernamen den Namen
  • vermeidet -nc Erstellen einer neuen Datei, wenn es bereits auf dem Ziel vorhanden ist (es wird einfach übersprungen)
  • - cut-dirs = 5 erlaubt es mir, den Inhalt von / absolut / Weg einzuschlagen / to / Verzeichnis und es in dem Verzeichnis zu setzen, wo ich wget starten. Die Zahl 5 wird verwendet, um die 5 Komponenten des Wegs auszufiltern. Der Doppel-Schrägstrich bedeutet eine zusätzliche Komponente.
ncftp -u <user> -p <pass> <server>
ncftp> mget directory

Wenn lftp auf Ihrem Rechner installiert ist, verwendet mirror dir. Und du bist fertig. Siehe Kommentar von Ciro unten, wenn Sie wollen ein Verzeichnis rekursiv zum Download bereit.

Wenn Sie scp statt ftp verwenden können, die -r Option wird dies für Sie tun. Ich würde überprüfen, um zu sehen, ob Sie einen modernere File-Transfer-Mechanismus als FTP verwenden können.

Verwenden WGet statt. Es unterstützt HTTP- und FTP-Protokolle.

wget -r ftp://mydomain.com/mystuff

Good Luck!

Referenz: http://linux.about.com/od/commands/ l / blcmdl1_wget.htm

Es gibt ‚ncftp‘, die für die Installation unter Linux zur Verfügung steht. Dies funktioniert auf dem FTP-Protokoll und kann verwendet werden, rekursiv Dateien und Ordner zum Download bereit. arbeitet auf Linux. Verwendet worden und wird für rekursive Ordner / Dateiübertragung funktioniert gut.

Überprüfen Sie diesen Link ... http://www.ncftp.com/

Wenn Sie können, empfehle ich Ihnen sehr tar und bzip (oder gzip, was auch immer Ihr Boot schwimmt) das Verzeichnis auf dem Remote-Computer-für ein Verzeichnis von signifikanter Größe, werden die Bandbreiteneinsparungen wahrscheinlich die Zeit wert sein, zip / entpacken.

Wenn Sie auf Befehlszeile FTP bleiben möchten, sollten Sie NcFTP versuchen. Dann können Sie -R rekursiv erhalten verwenden, um einen Ordner zu bekommen. Sie werden auch Abschlusszertifikat erhalten.

wget -r ftp://url

Arbeit perfekt für Redhat und Ubuntu

Sie sollten nicht ftp verwenden. Wie telnet ist es nicht die Sicherheitsprotokolle und Passwörter werden im Klartext übertragen. Dies macht es sehr einfach für Dritte Ihren Benutzernamen und das Passwort zu erfassen.

Remote-Verzeichnisse der Ferne zu kopieren, sind diese Optionen besser:

  • rsync ist das am besten geeignete Werkzeug, wenn Sie über ssh anmelden kann, weil sie Kopien nur die Unterschiede, und leicht in der Mitte bei bricht die Verbindung neu starten können.

  • ssh -r ist die zweitbeste Option rekursiv kopieren Verzeichnisstrukturen.

Siehe auch:

drücken Sie die Eingabeaufforderung von PROMPT Befehl.

Verbrauch:

ftp>cd /to/directory    
ftp>prompt    
ftp>mget  *
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top