Mit wget Dateien rekursiv herunterladen – auch per FTP

wget im Einsatz
wget im Einsatz
28.05.2012 18:22

Heutzutage lädt man sich Dateien meist über den Browser herunter. Ein Mausklick genügt und der Download läuft. Möchte man sich jedoch mehrere Dateien von einer Seite angeln, artet das schnell in eine Klickorgie aus. Vor einem ähnlichen Problem steht man, wenn man per FTP mehrere Dateien von einem Server holen möchte: Das ftp-Kommando kann immer nur einzelne Dateien aus einem einzigen Verzeichnis herunterladen.

Sofern man auf dem fremden Server ein Benutzerkonto besitzt, könnte man sich dort natürlich etwa per SSH einloggen, die gewünschten Verzeichnisse und Dateien per tar oder zip in ein entsprechendes Archiv packen und dann dieses anschließend auf den eigenen Rechner übertragen.

Es geht aber viel einfacher und komfortabler mit einem kleinen Programm, das jede Distribution mitbringt, auf der Festplatte aber häufig ein Schattendasein führt: wget. Das Kommandozeilenwerkzeug lädt automatisch beliebige Dateien via HTTP, HTTPS oder FTP herunter. Es genügt sogar ein einziger Befehl, um es einen kompletten Server spiegeln zu lassen.

Singular

Zunächst holt wget eine einzelne Datei via:

wget --user=benutzername --password=passwort ftp://ftp.example.com/einedatei.zip

Hier meldet sich wget mit dem benutzernamen und dem passwort am FTP-Server ftp.example.com an und lädt einedatei.zip herunter. Nach dem gleichen Prinzip angelt sich wget auch per HTTP eine Datei vom Web-Server:

wget --user=benutzername --password=passwort http://www.example.com/einedatei.zip

Sollte man keinen Benutzernamen und Passwort benötigen, lässt man dieses Duo einfach weg:

wget http://www.example.com/einedatei.zip

Plural

Mehrere Dateien deckt man mit den üblichen Platzhaltersymbolen ab:

wget --user=benutzername --password=passwort ftp://www.example.com/eine*

Alle Dateien und sämtliche Unterverzeichnisse aus dem Verzeichnis einverzeichnis holt:

wget -r -l 10 --user=benutzername --password=passwort ftp://ftp.example.com/einverzeichnis/

Das -r weist wget an, auch in alle Unterverzeichnisse herabzusteigen – standardmäßig genau bis zu 5 Verzeichnisebenen. Durch den Parameter -l kann man diese Vorgabe ändern, bei -l 10 steigt wget bis zu 10 Verzeichnisebenen herab. Ein -l inf hebt die Begrenzung komplett auf, wget lädt dann alle Unterverzeichnisse herunter, egal wie tief sie verschachtelt sind. Die Dateien landen übrigens auf der eigenen Festplatte in einem Verzeichnis, das so wie der Server heißt – im Beispiel also unter ftp.example.com.
Einen kompletten Server spiegelt schließlich:

wget -m --user=benutzername --password=passwort ftp://ftp.example.com/

Doch Vorsicht: Das Spiegeln eines FTP-Servers kann diesen stark in Anspruch nehmen. Viele Betreiber von FTP-Servern sehen es daher nicht gerne, wenn man hemmungslos große Datenmengen absaugt.


Kommentare

Aktuelle Fragen

Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...
IP Cams aufzeichnen?
Bibliothek der Technischen Hochschule Mittelhessen / Giessen, 07.04.2017 09:25, 7 Antworten
Hallo, da nun des öfteren bei uns in der Nachbarschaft eingebrochen wird, würde ich gern mein...
WLAN lässt sich nicht einrichten
Werner Hahn, 21.03.2017 14:16, 2 Antworten
Dell Latitude E6510, Ubuntu 16.4, Kabelbox von Telecolumbus. Nach Anklicken des Doppelpfeiles (o...
"Mit Gwenview importieren" funktioniert seit openSuse 42.2 nicht mehr
Wimpy *, 20.03.2017 13:34, 2 Antworten
Bisher konnte ich von Digitalkamera oder SD-Karte oder USB-Stick Fotos mit Gwenview importieren....

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Gemeinsame Fotoablage im Haus
Nguyen Dong Loan, 24.04.2017 18:26
Am Montag, den 24.04.2017, 17:50 +0200 schrieb Marcello: Hallo Marcello > Die NAS-Systeme machen auc...
Re: [EasyLinux-Ubuntu] Gemeinsame Fotoablage im Haus
Marcello, 24.04.2017 17:50
Am 24. April 2017 09:27:09 MESZ schrieb Nguyen Dong Loan : >Am Sonntag, den 23.04.2017, 23:39 +0200 schrieb...
Re: [EasyLinux-Ubuntu] Gemeinsame Fotoablage im Haus
Nguyen Dong Loan, 24.04.2017 09:27
Am Sonntag, den 23.04.2017, 23:39 +0200 schrieb Marcello: Hallo Marcello > > Kennt ihr noch andere...
Re: [EasyLinux-Ubuntu] Gemeinsame Fotoablage im Haus
Uwe Herrmuth, 24.04.2017 09:00
Hallo Marcello, Marcello schrieb am 23.04.2017 um 23:39: > Ich hätte zwei Optionen: > 1. Nextcloud...
Re: [EasyLinux-Ubuntu] Gemeinsame Fotoablage im Haus
Gerhard Blaschke, 24.04.2017 06:07
Guten Morgen, Am 23.04.2017 um 23:39 schrieb Marcello: > Guten Tag, > > ich habe derzeit folgendes...