답변:
다음 매개 변수를 시도하십시오.
-nc
,--no-clobber
: 기존 파일로 다운로드되는 다운로드를 건너 뜁니다.
샘플 사용법 :
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursive
옵션을 사용하고 있기 때문에 다른 결과가 나올 수 있습니다 .
-nc
, --no-clobber
최신 파일이 다운로드되지 않으므로 옵션은 최적의 솔루션이 아닙니다. 하나는 사용해야 -N
올바른 대답은, 그래서, 다운로드 서버가 최신 버전이있는 경우에만 파일을 덮어 쓰기하는 대신 :
wget -N http://www.example.com/images/misc/pic.png
그런 다음에 사용하거나 사용하지 않고, -N과를 Wget을 실행
-r
하거나-p
파일의 새 복사본을 다운로드할지 여부에 관한 결정이 파일의 로컬 및 원격 타임 스탬프와 크기에 따라 달라집니다.-nc
와 동시에 지정할 수 없습니다-N
.
-N
,--timestamping
: 타임 스탬프를 켭니다.
-N
않으면 wget이 항상 다시 다운로드됩니다. 따라서 때로는 -nc
더 나은 솔루션입니다.
wget
불평합니다 Last-modified header missing
. 이것이 바로 상황의 개요입니다.
-r
또는로 -p
, 그러나 -N
로 -nd
, 또는로 없이 Wget을 실행 -nc
하면 파일을 다시 다운로드하면 새 사본이 단순히 기존 사본을 덮어 씁니다.
따라서 추가 -nc
하면이 동작이 방지되어 대신 원래 버전이 유지되고 서버의 최신 사본이 무시됩니다.
내가 찾고있는 대답은 https://unix.stackexchange.com/a/9557/114862 입니다.
-c
로컬 파일이 서버 버전보다 크거나 같은 경우 플래그를 사용하면 다시 다운로드하지 않아도됩니다.
wget -i filelist.txt -c
실패한 파일 목록 다운로드를 다시 시작합니다.
-nc
HTTP 요청 전송 및 후속 파일 다운로드를 막지 않습니다. 파일이 이미 완전히 검색된 경우 파일을 다운로드 한 후 아무 작업도 수행하지 않습니다. 파일이 이미 존재하는 경우 HTTP 요청을 방지하는 방법이 있습니까? stackoverflow.com/questions/33203898/…