
일련의 wget 명령을 실행하고 출력을 기록하는 bash 스크립트가 있습니다. 나는 다음 옵션을 사용합니다.
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
새 파일이 다운로드되지 않았기 때문인가요,[...]?
예. 그게 다야. 0바이트를 다운로드한 경우 요약이 없습니다. 아래 if 문의 후반부 때문입니다: "total_downloaded_bytes != 0"
출처는wget Git 저장소:
if ((opt.recursive || opt.page_requisites
|| nurl > 1
|| (opt.input_filename && total_downloaded_bytes != 0))
&&
total_downloaded_bytes != 0)
wget이 요약을 출력하도록 강제하는 방법은 무엇입니까?
강제로 할 수 있는 방법은 없는 것 같습니다. 다음과 같은 대안을 생각해 볼 수 있습니다.
- 소스에서 두 줄을 제거하고 개인 빌드를 다시 컴파일하십시오.
- 명시적인 옵션에 대한 기능 요청을 제출하세요.wget 버그 추적기.
- 매번 1바이트 더미 파일을 다운로드합니다. 이렇게 하면 요약이 강제로 표시됩니다.