2

У меня есть скрипт bash, который запускает серию команд wget и регистрирует вывод. Я использую следующие варианты:

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

Журналы должны заканчиваться:

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)

Но иногда нет такого резюме, все, что я вижу, - ошибки, которые произошли:

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.

Почему wget не показывает резюме? Это потому, что не было загружено новых файлов или было много ошибок на сервере (404, 403)?

1 ответ1

3

Это потому, что новые файлы не были загружены, [...]?

Да. Вот и все. Там не будет никакого резюме, если нулевые байты были загружены. Это из-за второй половины оператора if ниже: "total_downloaded_bytes!"= 0 "

Источник из репозитория Wit Git:

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

Как заставить wget выводить резюме?

Кажется, нет возможности форсировать это. Я могу думать об этих альтернативах:

  • Удалите две строки из исходного кода и перекомпилируйте свою собственную частную сборку.
  • Отправьте запрос функции для явной опции в трекер ошибок wget.
  • Загружайте 1-байтовый фиктивный файл каждый раз. Это должно заставить отображение резюме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .