Пропустить загрузку, если файлы существуют в wget? - программирование

Пропустить загрузку, если файлы существуют в wget?

Это самый простой пример: wget:

wget http://www.example.com/images/misc/pic.png

но как сделать wget skip download, если pic.png уже доступен?

4b9b3361

Ответ 1

Попробуйте выполнить следующий параметр:

-nc, --no-clobber: пропустить загрузки, которые                                    существующих файлов.

Использование образца:

wget -nc http://example.com/pic.png

Ответ 2

--No-clobber -nc, --No-clobber не является лучшим решением, так как более новые файлы не будут загружаться. -N этого следует использовать -N который загрузит и перезапишет файл, только если на сервере установлена более новая версия, поэтому правильный ответ:

wget -N http://www.example.com/images/misc/pic.png

Затем, запустив Wget с -N, с или без -r или -p, решение о том, загружать или нет более новую копию файла, зависит от локальной и удаленной метки времени и размера файла. -nc нельзя указывать одновременно с -N.

-N, --timestamping: включить --timestamping времени.

Ответ 3

При запуске Wget с -r или -p, но без -N, -nd или -nc, повторная загрузка файла приведет к тому, что новая копия просто перезапишет старую.

Таким образом, добавление -nc предотвратит это поведение, вместо этого приведет к сохранению исходной версии и игнорированию любых новых копий на сервере.

Дополнительная информация в GNU.

Ответ 4

Ответ, который я искал, находится в https://unix.stackexchange.com/a/9557/114862.

Использование флага -c, когда локальный файл имеет больший или равный размер версии сервера, позволит избежать повторной загрузки.