Sinn für die Ausgabe von wget -r

808
deostroll

Dies ist die Ausgabe des Tree-Befehls in einem Verzeichnis:

. |-- asdf.txt |-- asd.txt |-- fabc | |-- fbca | `-- file1.txt |-- fldr1 |-- fldr2 | `-- index.html |-- fldr3 | |-- cap.txt | `-- f01 `-- out.txt  6 directories, 6 files 

Ich starte einen lokalen http-Server in diesem Verzeichnis. Als Nächstes führe ich den folgenden Befehl aus:

wget -r -nv --spider --no-parent http://localhost:3000 -o - 

... und erhalten Sie folgende Ausgabe:

2017-01-02 20:07:24 URL:http://localhost:3000/ [1580] -> "localhost:3000/index.html" [1] http://localhost:3000/robots.txt: 2017-01-02 20:07:24 ERROR 404: Not Found. 2017-01-02 20:07:24 URL:http://localhost:3000/fabc/ [897] -> "localhost:3000/fabc/index.html" [1] 2017-01-02 20:07:24 URL:http://localhost:3000/fldr1/ [536] -> "localhost:3000/fldr1/index.html" [1] 2017-01-02 20:07:24 URL:http://localhost:3000/fldr2/ [0/0] -> "localhost:3000/fldr2/index.html" [1] 2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/ [896] -> "localhost:3000/fldr3/index.html" [1] 2017-01-02 20:07:24 URL: http://localhost:3000/asd.txt 200 OK unlink: No such file or directory 2017-01-02 20:07:24 URL: http://localhost:3000/asdf.txt 200 OK unlink: No such file or directory 2017-01-02 20:07:24 URL: http://localhost:3000/out.txt 200 OK unlink: No such file or directory 2017-01-02 20:07:24 URL:http://localhost:3000/fabc/fbca/ [548] -> "localhost:3000/fabc/fbca/index.html" [1] 2017-01-02 20:07:24 URL: http://localhost:3000/fabc/file1.txt 200 OK unlink: No such file or directory 2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/f01/ [548] -> "localhost:3000/fldr3/f01/index.html" [1] 2017-01-02 20:07:24 URL: http://localhost:3000/fldr3/cap.txt 200 OK unlink: No such file or directory Found no broken links.  FINISHED --2017-01-02 20:07:24-- Total wall clock time: 0.3s Downloaded: 7 files, 4.9K in 0s (43.4 MB/s) 
  1. Wird wget immer geschrieben index.html? Können wir das deaktivieren?
  2. Wie lauten diese Zahlen wie 1580, 536, 0/0 usw.?
  3. Warum sagt es unlink: No such file or directory?
0

1 Antwort auf die Frage

2
Marek Rost
  1. Sie können versuchen, Dateien mit der --rejectOption zu überspringen (akzeptiert auch Platzhalter):

    wget --reject index.html

Sie möchten dies jedoch nicht tun. Wenn Sie wget mit verwenden -r, muss es irgendwie eine Liste der Dateien im Verzeichnis abrufen. Daher fragt wget nach der Datei index.html und analysiert den Inhalt, um Pfade zu anderen Dateien in diesem Verzeichnis zu erhalten. Wenn sich keine index.html-Datei im Ordner befindet, wird sie vom Webserver normalerweise für wget generiert - diese Datei enthält die Verzeichnisliste. Die Erstellung dieser Listendatei muss auf dem Webserver aktiviert sein - andernfalls erhält wget eine HTTP-404-Antwort und schlägt beim rekursiven Download fehl.

  1. Dies ist die Dateigröße in Bytes.
  2. Dies bedeutet, dass eine Datei nicht entfernt werden konnte (wahrscheinlich weil sie nicht an erster Stelle erstellt wurde). Haben Sie Schreibrechte für das Verzeichnis, in das Sie mit wget herunterladen?

Bearbeiten: Nach dem Testen von wget-Downloads mit --spiderund --recursive ich habe den Unlink-Fehler reproduziert. Es scheint, dass wget den Inhaltstyp der Antwort verwendet, um zu bestimmen, ob die Datei Links zu anderen Ressourcen enthalten kann. Wenn der Inhaltstyptest fehlschlägt und die Datei nicht heruntergeladen wird, versucht wget dennoch, die temporäre Datei zu entfernen, als ob sie heruntergeladen wurde (dies ist offensichtlich, wenn wget erneut ausgeführt wird --debug. Dies wird eindeutig angezeigt Removing file due to --spider in recursive_retrieve():). Ich denke, Sie haben einen Fehler in Wget gefunden.

Okay, was ist dann 0/0? (Antwort auf Antwort 2) deostroll vor 7 Jahren 0
Es sieht nach einem Fehler beim Herunterladen der Datei aus - beispielsweise, wenn HTTP 200 OK vom Webserver empfangen wird, obwohl keine Datei bereitgestellt wird (aufgrund falscher Berechtigungen, falscher Konfiguration usw.). Hat wget den Dateiinhalt heruntergeladen oder ist die Datei leer? Ich fürchte, niemand kann Ihnen die Ursache für die Dateigröße nennen. Es gibt jemanden, der mit einem ähnlichen Problem konfrontiert ist: http://unix.stackexchange.com/q/91785 (die Antworten schlagen vor, dass die Option "wget ​​debugging" aktiviert ist). Marek Rost vor 7 Jahren 0
Ich habe es mit der Option "--spider" ausgeführt ... Bedeutet das nun irgendetwas? deostroll vor 7 Jahren 0
Spinne bedeutet nur "keine Dateien herunterladen". Mit rekursiv ändert sich dies in "Dateien vorübergehend herunterladen, die Links zu anderen Ressourcen enthalten können". Wie in der aktualisierten Antwort erwähnt, hängt es von dem Inhaltstyp ab, ob die Datei heruntergeladen werden soll. Marek Rost vor 7 Jahren 1