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

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

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

а как заставить wget пропустить загрузку, если pic.png уже доступен?

вопрос задан 9.02.2011
nais inpoh gan
766 репутация

4 ответов


  • 214 рейтинг

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

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

    Пример использования:

    wget -nc http://example.com/pic.png
    
    ответ дан plundra, с репутацией 11900, 9.02.2011
  • 152 рейтинг

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

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

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

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

    ответ дан Daniel Sokolowski, с репутацией 7609, 30.05.2013
  • 20 рейтинг

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

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

    См. Больше информации в GNU.

    ответ дан Mahesh, с репутацией 27734, 9.02.2011