Это простейший пример запуска wget:
wget http://www.example.com/images/misc/pic.png
но как сделать так, чтобы wget пропускал загрузку, если pic.pngон уже доступен?
Это простейший пример запуска wget:
wget http://www.example.com/images/misc/pic.png
но как сделать так, чтобы wget пропускал загрузку, если pic.pngон уже доступен?
Ответы:
Попробуйте следующий параметр:
-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
Затем, запустив Wget с -N, с или без
-rили-p, решение о том, загружать или нет более новую копию файла, зависит от локальной и удаленной метки времени и размера файла.-ncне может быть указан одновременно с-N.
-N,--timestamping: Включить отметку времени.
-Nможет произойти сбой, и wget всегда будет загружен заново. Так что иногда -ncлучшее решение.
wgetбудет жаловаться Last-modified header missing; это как раз описанная ситуация.
При запуске Wget с -rили -p, но без -N, -ndили-nc повторная загрузка файла приведет к тому, что новая копия будет просто перезаписывать старую.
Таким образом, добавление -ncпредотвратит это поведение, вместо этого сохраняя исходную версию и игнорируя любые новые копии на сервере.
Ответ, который я искал, находится на https://unix.stackexchange.com/a/9557/114862 .
Использование
-cфлага, когда локальный файл имеет больший или равный размер с версией сервера, позволит избежать повторной загрузки.
wget -i filelist.txt -cвозобновит неудачную загрузку списка файлов.
-ncне препятствует отправке HTTP-запроса и последующей загрузке файла. Он просто ничего не делает после загрузки файла, если файл уже был полностью восстановлен. Есть ли способ предотвратить отправку HTTP-запроса, если файл уже существует? stackoverflow.com/questions/33203898/…