Linux: FTP Verzeichnis und Unterverzeichnisse mit ncftpget downloaden

Vor ein paar Tagen musste ich von einem Debian Server aus ein Verzeichnis mit mehreren tausend Unterverzeichnissen samt Dateien von einem FTP Server runter laden. Als erstes hatte ich es mit dem Midnight Commander versucht, aber der brach andauernd ab und da der Kopiervorgang durch langsame Verbindungen auch noch mehrere Tage lang laufen sollte war dies keine Lösung. Ich suchte also nach einer Alternative und da ich sehr gute Erfahrungen mit ncftpput hatte, schaute ich mir ncftpget genauer an. Auf Cyberciti.biz wurde ich recht schnell fündig. Im Artikel “Linux: Download all file from ftp server recursively” wird der Ablauf sehr schön erklärt. Hier noch eine kurze deutsche Zusammenfassung.
Installation von ncftp
$ aptitude update && aptitude safe-upgrade $ aptitude install ncftp
Benutzung von ncftpget
$ ncftpget -T -R -v -u "ftp-user" -p "ftp-passwort" -P 21323 \ ftp-ip-oder-addresse /verzeichnis/lokal /verzeichnis/ftp
- -T: Man kann es zuerst ohne diese Option versuchen. Wenn man dann aber einen Tar Fehlermeldung erhält, kann man mit der Option -T die Benutzung von Tar deaktivieren.
- -R: aktiviert den Rekursivmodus. Es werden alle Dateien und Ordner samt Unterordner kopiert.
- -v: Verbose. Gibt Informationen über den Fortschritt des Downloads aus.
- -u “ftp-user”: Der FTP User Name
- -p “ftp-passwort”: Das FTP User Passwort
- -P 21323: Wenn angegeben, wird der übergebene Port an Stelle des Standardports 21 benutzt.
- ftp-ip-oder-addresse: FTP Server Adresse oder IP
- /verzeichnis/lokal: Das Verzeichnis auf dem Lokalen Rechner in den die Dateien kopiert werden.
- /verzeichnis/ftp: Das Verzeichnis auf dem FTP Server das herunter geladen werden soll.
Tar Fehler:
tar: End of archive volume 1 reached tar: Sorry, unable to determine archive format. Could not read directory listing data: Connection reset by peer
Mit ncftpget kann man noch sehr viel mehr machen. Ein Blick auf die ncftpget Man Page lohnt sich.
Related Links
- Linux: Download all file from ftp server recursively (englisch)
- ncftpget Man Page (englisch)
5 Kommentare
Ole
schrieb am 11.08.2010 um 15:06 Uhr
Das Ganze endet bei mir immer mit der Fehlermeldung:
$ ncftpget: cannot open 127.0.0.0: username and/or password was not accepted for login.
Folgende Befehlszeile funktioniert:
$ ncftpget -R -T -v ftp://user:passwort@127.0.0.1//public_html/ordner/
Ole
schrieb am 11.08.2010 um 15:07 Uhr
Trotzdem vielen Dank für dein HowTo.
Ole
schrieb am 11.08.2010 um 15:08 Uhr
Ups, Schreibfehler. Die IP war natürlich gleich und der Fehler kam trotzdem.
kostaki
schrieb am 12.08.2010 um 08:35 Uhr
Hm seltsam. Eine andere Version vielleicht? Ich hatte es auf Debian Lenny probiert?!?