Це найпростіший приклад запуску 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 / ...