Wie zwingt man wget, eine Zusammenfassung auszugeben?

Wie zwingt man wget, eine Zusammenfassung auszugeben?

Ich habe ein Bash-Skript, das eine Reihe von Wget-Befehlen startet und die Ausgabe protokolliert. Ich verwende die folgenden Optionen:

wget --no-verbose --page-requisites --adjust-extension --convert-links --backup-converted --timestamping --wait=1 --random-wait --append-output="$logfile" --recursive --level=2 http://example.com

Die Protokolle sollten mit folgendem enden:

Terminé — 2014-10-09 18:06:40 —
Temps total effectif : 1m 7s
Téléchargés : 11 fichiers, 79K en 0,06s (1,22 MB/s)

Manchmal gibt es jedoch keine solche Zusammenfassung. Dann werden mir nur die aufgetretenen Fehler angezeigt:

http://example.com/robots.txt:
2014-10-09 18:06:41 erreur 404 : Ce fichier n'existe pas (404).
http://example.com/index.html:
2014-10-09 18:08:27 erreur 404 : Ce fichier n'existe pas (404).
http://example.com/folder1/folder2/default.asp.html:
2014-10-09 18:08:31 erreur 404 : Ce fichier n'existe pas (404).
http://example.com/folder1/index.html:
2014-10-09 18:08:56 erreur 404 : Ce fichier n'existe pas (404).
http://example.com/folder1/folder2/folder3/"../images/bullet.gif":
2014-10-09 18:09:28 erreur 403 : Action interdite.

Warum zeigt wget keine Zusammenfassung an? Liegt es daran, dass keine neuen Dateien heruntergeladen wurden oder dass zu viele Serverfehler (404, 403) aufgetreten sind?

Antwort1

Liegt es daran, dass keine neuen Dateien heruntergeladen wurden,[...]?

Ja, das ist es. Es wird keine Zusammenfassung angezeigt, wenn null Bytes heruntergeladen wurden. Das liegt an der zweiten Hälfte der folgenden if-Anweisung: „total_downloaded_bytes != 0“

Quelle aus demwget Git-Repository:

if ((opt.recursive || opt.page_requisites
       || nurl > 1
       || (opt.input_filename && total_downloaded_bytes != 0))
      &&
      total_downloaded_bytes != 0)

Wie zwingt man wget, eine Zusammenfassung auszugeben?

Es scheint keine Möglichkeit zu geben, dies zu erzwingen. Mir fallen folgende Alternativen ein:

  • Entfernen Sie die beiden Zeilen aus der Quelle und kompilieren Sie Ihren eigenen privaten Build neu.
  • Senden Sie eine Funktionsanfrage für eine explizite Option zumder wget Bugtracker.
  • Laden Sie jedes Mal eine 1-Byte-Dummydatei herunter. Dadurch sollte die Anzeige der Zusammenfassung erzwungen werden.

verwandte Informationen