4

У меня было неприятное удивление, что wget не перезагружается, когда файл с таким именем уже существует.

Есть ли возможность принудительно загрузить его, не удаляя файл сначала в Linux?

3 ответа3

5
wget -O - $url >/path/to-file

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

2

Многое зависит от того, какие параметры вы wget в командной строке. Я обнаружил, что поведение по умолчанию в моих системах - это повторная загрузка, но добавьте число к имени файла, чтобы оно изменилось.

Вот описание опции --no-clobber от man wget (для wget 1.11.4) - обратите внимание на взаимодействие с другими опциями, в частности, -r и -p . (Акцент мой.)

-nc
--no-колошматить
Если файл загружается более одного раза в один и тот же каталог, поведение Wget зависит от нескольких параметров, включая -nc. В некоторых случаях локальный файл будет засорен или перезаписан при повторной загрузке. В остальных случаях это будет сохранено.

При запуске Wget без -N, -nc, -r или p загрузка одного и того же файла в тот же каталог приведет к сохранению исходной копии файла, а вторая копия будет иметь имя file.1. Если этот файл будет загружен еще раз, третья копия будет называться file.2 и так далее. Если указан параметр -nc, это поведение подавляется, и Wget откажется загружать более новые копии файла. Следовательно, "" no-clobber "" на самом деле является неправильным в этом режиме - это не клоббер, который предотвращается (так как числовые суффиксы уже предотвращали клоббер), а скорее предотвращение сохранения нескольких версий.

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

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

Обратите внимание, что при указании -nc файлы с суффиксами .html или .htm будут загружаться с локального диска и анализироваться так, как если бы они были получены из Интернета.

-1

Это контролируется опцией -nc или -nc --no-clobber .

Это сложно и зависит от других опций, но у вас есть возможность переписывать или переименовывать перезагруженные файлы file.1, file.2

Похоже, что на странице руководства написано, что если вы не используете опцию «no-clobber» , перезагруженные файлы будут перенумерованы. Вы видите файлы с числовыми суффиксами?

В любом случае см. man page

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .