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

Stellenanzeigen

System–Administrator (m/w)
IT-Systemadministrator

Mehr erfahren...
(Vollständige Anzeige auf Linux-Magazin Online)


Senior-System–Administrator (m/w)
IT-Systemadministrator

Mehr erfahren...
(Vollständige Anzeige auf Linux-Magazin Online)

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Plugins bei OPERA - Linux Mint 17.1
Christoph-J. Walter, 23.07.2015 08:32, 1 Antworten
Beim Versuch Video-Sequenzen an zu schauen kommt die Meldung -Plug-ins und Shockwave abgestürzt-....
Wird Windows 10 update/upgrade mein Grub zerstören ?
daniel s, 22.07.2015 08:31, 5 Antworten
oder rührt Windows den Bootloader nicht an? das ist auch alles was Google mir nicht beantw...
Z FUER Y UND ANDERE EINGABEFEHLER AUF DER TASTATUR
heide marie voigt, 10.07.2015 13:53, 2 Antworten
BISHER konnte ich fehlerfrei schreiben ... nun ist einiges drucheinander geraten ... ich war bei...
PCLinuxOS lässt sich nicht installieren
Arth Lübkemann, 09.07.2015 18:53, 6 Antworten
Hallo Leute, ich versuche seit geraumer Zeit das aktuelle PCLinuxOS KDE per USB Stick zu insta...
Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 2 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Logmeldungen
Thomas Lueck, 29.07.2015 12:22
Am Mittwoch, den 29.07.2015, 08:20 +0200 schrieb Uwe Herrmuth: > console-kit-daemon[2716]: (process:2779):...
Re: [EasyLinux-Ubuntu] Speicherplatz
Thomas Lueck, 29.07.2015 10:06
Am Mittwoch, den 29.07.2015, 07:43 +0200 schrieb Uwe Herrmuth: > > Was sagt denn als Root >...
[EasyLinux-Suse] Mir_persönlich_...._mit_SUSE...._//__WAS:_Re:__Fehler_Kmail:_Headerless_mail_(OT)
Achim Pabel, 29.07.2015 09:57
Hallo zusammen, > Mir persönlich ist inzwischen die Lust vergangen mich mit SUSE > überhaupt noch meh...
[EasyLinux-Ubuntu] Logmeldungen
Uwe Herrmuth, 29.07.2015 08:20
Hallo Miteinander, in relativ regelmäßigen Abständen erhalte ich in den Logs mir unverständliche Meldungen:...
Re: [EasyLinux-Ubuntu] Speicherplatz
Uwe Herrmuth, 29.07.2015 07:51
Hallo Wilhelm, Wilhelm Boltz schrieb am 29.07.2015 um 00:31: > > Dateisystem Größe Benutzt Verf. Verw...