Spiegelbildlich

FTP-Downloads und Website-Spiegelung mit Wget

01.11.2005
Wget ist ein FTP-Tool, das nicht nur einzelne Dateien, sondern auf Wunsch gleich komplette Websites herunterlädt. Auch eine unzuverlässige Internet-Verbindung stört das Tool nicht: Beschränken Sie einfach Bandbreite oder Download-Menge und setzen Sie abgebrochene Übertragungen fort.

Es gibt zahlreiche grafische Download-Manager, mit denen Sie nicht nur einzelne Dateien herunterladen, sondern komplette Websites spiegeln. Auf der Kommandozeile erledigt Wget diesen Job – schnell und ohne viele Mausklicks. Wget "spricht" HTTP, HTTPS und FTP, knüpft an abgebrochene Übertragungen wieder an und bringt sogar eine Update-Funktion mit, die nur veraltete Dateien aktualisiert.

Rundumschlag

Die allgemeine Syntax des Kommandos lautet:

wget URL

Wget verrät Ihnen dabei direkt auf der Konsole, was es erledigt (Abbildung 1): Im Beispiel baut das Programm eine Verbindung zum Webserver auf (Standard-Port 80) und lädt die Datei index.html ins lokale Verzeichnis herunter; eingebettete Bilder ignoriert es dabei, und es verfolgt auch keine Links. Wer die mitunter recht langen Ausgaben im Terminal nicht sehen mag, gibt als weiteren Parameter -q ("quiet", deutsch: "ruhig") an. Da Wget jetzt aber auch eventuelle Fehlermeldungen und grundlegende Informationen unterdrückt, gehen Sie am besten mit wget -nv einen Kompromiss ein: Das Programm schreibt nicht ganz so viel ins Terminal, schweigt sich aber auch nicht vollkommen aus.

Abbildung 1: Wget bei der Arbeit: Der einfache Aufruf erfasst keine eingebetteten Bilder und verfolgt keine Links.

Um Wget mitzuteilen, dass es "lokalen" Links auf dem Server folgen und die Daten rekursiv spiegeln soll, geben Sie als zusätzlichen Parameter -r an. Es ist sinnvoll, in diesem Zusammenhang auch direkt den die Rekursionstiefe mit anzugeben: Um neben index.html alle dort eingebetteten Links (wie z. B. Bilder oder weitere HTML-Seiten) zu erwischen, gehen Sie einen Level tiefer:

wget -r -l 1 www.linux-user.de

Geben Sie als Level-Tiefe -l 2 an, folgt Wget den eingebetteten Verknüpfungen noch eine Stufe weiter: Befindet sich in index.html ein Link auf bilder.html, geht der Download-Manager nun auch Verknüpfungen in dieser Seite nach.

Auf der eigenen Festplatte sehen Sie anschließend für jede URL einen eigenen Ordner. Dieses Verhalten deaktivieren Sie auf Wunsch durch Anhängen einer Option: Geben Sie zusätzlich -nH ("no host") an, landet alles im aktuellen Verzeichnis.

Wget passt auf Wunsch die Links in den einzelnen HTML-Dateien an. Geben Sie als zusätzliche Option -k an, kümmert sich Wget um Verweise auf Bilder, Stylesheets, andere HTML-Seiten vom gleichen Server usw. (Listing 1). Verknüpfungen zu Dateien, die Wget ebenfalls heruntergeladen hat, werden über einen relativen Pfad referenziert; Dateien, die nicht mit auf die Platte gewandert sind, behalten ihre vollständigen URLs.

Listing 1

Wget-Beispielaufruf

$ wget -r -l 2 www.url.de
Geholt: 46,676 Bytes in 7 Dateien
Umwandlung von »www.url.de/index.html«… 11-0
Umwandlung von »www.url.de/about_me.html«… kein Download notwendig.
Umwandlung von »www.url.de/publications/index.php«… 3-8
Umwandlung von »www.url.de/picture_archive/index.php«… 3-49
Umwandlung von »www.url.de/linux.html«… kein Download notwendig.
5 Dateien in 0.00 Sekunden konvertiert.

Keine Panik!

Auch wenn ein Download großer Datenmengen einmal abgebrochen ist, ist das kein Grund zur Panik, und Sie müssen nicht wieder von vorne starten. Wget bringt für diese Zwecke die Option -c ("continue", deutsch: fortsetzen) mit, welche an vorherige Downloads anknüpft. Dabei spielt es keine Rolle, ob Sie die Daten mit Wget oder einem grafischen Download-Manager heruntergeladen haben – das Tool vergleicht die Fragmente mit dem Original und setzt die Arbeit fort. Wget gibt sich auch hier informativ und meldet beispielsweise:

Download der Datei schon vollständig; kein Download notwendig.

Sichern Sie immer wieder dieselben Daten, bietet sich der Einsatz der Option -N an: Dann vergleicht Wget für jede Datei die Größe und das Datum mit der lokalen Kopie:

$ wget -N ftp://ftp.debian.de/debian-cd/3.1_r0a/i386/iso-cd/debian-31r0a-i386-binary-1.iso
…
Größen stimmen nicht überein (lokal 7935840) – erneuter Download.

Hat sich nichts geändert, informiert der Download Manager z. B.:

Datei auf dem Server nicht neuer als die lokale Datei »index.html« – kein Download.

Vergessen Sie die Option einmal, ist das allerdings kein Grund zur Sorge: Normalerweise überschreibt Wget keine Dateien, sondern legt zur Sicherheit durchnummerierte Backups (index.html.1, index.html.2 usw.) an.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl
    Wget ist ein Download-Tool, das gleichermaßen mit WWW- wie FTP-Servern umgehen kann und dank zahlreicher Optionen genau die Dateien holt, die Sie brauchen.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Mit wget Dateien rekursiv herunterladen – auch per FTP
  • Stets gut informiert
    Deutsche Webseiten bieten meist ein Impressum mit wichtigen Informationen zum Anbieter – das gilt aber nicht immer, und für ausländische Seiten erst recht nicht. Kommandozeilentools für Linux geben die gesuchte Auskunft.
  • Gamezone
    Spiele für Linux? Gibt es die denn überhaupt? Ja, und zwar mehr als Mancher vermuten mag. Wir bieten an dieser Stelle einen Überblick über die beliebtesten Spiele und zeigen Wege aus dem Installationsirrgarten.
Kommentare

Infos zur Publikation

title_2015_02

Digitale Ausgabe: Preis € 5,49
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 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

Rootpasswort
Jutta Naumann, 29.01.2015 09:14, 1 Antworten
Ich habe OpenSuse 13.2 installiert und leider nur das Systempasswort eingerichtet. Um Änderungen,...
Neue SuSE-Literatur
Roland Welcker, 14.01.2015 14:10, 1 Antworten
Verehrte Linux-Freunde, seit Hans-Georg Essers Buch "LINUX" und Stefanie Teufels "Jetzt lerne ich...
DVD abspielen unter openSUSE 13.1
Michael Pfaffe, 12.01.2015 11:48, 6 Antworten
Hallo Linuxer, Bisher habe ich meine DVD´s mit linDVD unter openSUSE abgespielt. Mit der Versi...
Kontrollleiste SuSE 12.3 gestalten
Roland Welcker, 31.12.2014 14:06, 1 Antworten
Wie bekomme ich das Icon eines beliebigen Programms (aktuell DUDEN) in die Kontrollleiste und kan...
flash-player
roland reiner, 27.12.2014 15:24, 7 Antworten
Mein Flashplayer funktioniert nicht mehr-Plug in wird nicht mehr unterstütz,auch über google chro...