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

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Teamviewer
Karl-Heinz, 22.12.2014 20:00
Am Mon, 22 Dec 2014 19:33:29 +0100 schrieb Gerhard Blaschke : Hallo Gerhard, > dpkg -i teamviewer_10.0...
Re: [EasyLinux-Ubuntu] E-Book-Reader und Linux
Karl-Heinz, 22.12.2014 19:48
Am Mon, 22 Dec 2014 19:11:31 +0100 schrieb Uwe Herrmuth : Hallo Uwe, also ich hab einen Kindle, der erste...
[EasyLinux-Ubuntu] Teamviewer
Gerhard Blaschke, 22.12.2014 19:33
Hallo Liste, habe mittlerweile auf einem Rechner Jessie installiert, läuft brauchbar. Ich möchte es jetzt i...
Re: [EasyLinux-Ubuntu] Ho, ho, ho
Joerg Guenther, 22.12.2014 19:19
Hallo Liste, Weihnachten ist das Fest der Wünsche ,,,, Gerne möchte ich die von Uwe geäusserten Wünsche hie...
Re: [EasyLinux-Ubuntu] E-Book-Reader_und_Linux
"heinz-dieterdahm@t-online.de", 22.12.2014 19:17
Ich würde den toline nehmen, da hier mehr Formate zur Verfügung stehen, die E-books werden automatisch runter g...