У меня было неприятное удивление, что wget не перезагружается, когда файл с таким именем уже существует.
Есть ли возможность принудительно загрузить его, не удаляя файл сначала в Linux?
У меня было неприятное удивление, что wget не перезагружается, когда файл с таким именем уже существует.
Есть ли возможность принудительно загрузить его, не удаляя файл сначала в Linux?
wget -O - $url >/path/to-file
Или, если вы зеркалируете, вы можете использовать флаг -c
. Это сделает так, чтобы файлы были "продолжены", но, поскольку они уже имеют размер, указанный сервером wget, он "продолжит" их с самого начала.
Многое зависит от того, какие параметры вы 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 будут загружаться с локального диска и анализироваться так, как если бы они были получены из Интернета.
Это контролируется опцией -nc или -nc
--no-clobber
.
Это сложно и зависит от других опций, но у вас есть возможность переписывать или переименовывать перезагруженные файлы file.1, file.2
Похоже, что на странице руководства написано, что если вы не используете опцию «no-clobber» , перезагруженные файлы будут перенумерованы. Вы видите файлы с числовыми суффиксами?
В любом случае см. man page