wget застрял в середине зеркального отображения веб-страницы

Сообщено как ошибка, которая является недокументированной функцией

. В этом разделе содержится отчет об ошибке. Поскольку rsyslog уже поддерживает несколько загрузочных журналов в /var/log/syslog и syslog.1, .2.gz, .3.gz ... syslog.7.gz разработчики чувствовали, что сохранение дополнительных журналов journalctl будет отнимать дисковое пространство.

3] В отчете об ошибке сообщается 3 января 2018 года, что для новых установок rsyslog больше не будет использоваться по умолчанию и journalctl будет хранить несколько журналов данных загрузки.

Создать несколько журналов загрузки без переустановки Ubuntu

Большинство из нас не будут делать новую установку, поэтому для использования нескольких журналов загрузки journalctl:

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
Cannot set file attribute for '/var/log/journal', value=0x00800000, mask=0x00800000: Operation not supported

В соответствии с этой темой предупреждающее сообщение об атрибутах можно игнорировать.

Интересный новый флаг s вместо знакомого x (исполняемый бит) в разрешениях файла вновь созданного каталога:

$ ll /var/log/journal
total 8
drwxr-sr-x+  2 root systemd-journal 4096 Feb  2 18:18 ./
drwxrwxr-x  15 root syslog          4096 Feb  2 18:18 ../

10]

Обновление через 3 недели

$ journalctl --list-boots
-15 58a9e56135564cd8a52d547b19e76bf5 Fri 2018-02-02 18:34:35 MST—Fri 2018-02-02 23:07:14 M
-14 3514e056440341b1b6e5f03d109681bc Sat 2018-02-03 06:05:12 MST—Sat 2018-02-03 08:07:44 M
-13 0d1a32dc275348589f5ecdc72180c018 Sat 2018-02-03 08:08:05 MST—Sat 2018-02-03 08:08:34 M
-12 74159b593f3a401589ee6bd78e31684b Sat 2018-02-03 08:08:51 MST—Sun 2018-02-04 08:32:09 M
-11 4b394a9aad584ab2bfabe3b77eeed78f Sun 2018-02-04 08:32:26 MST—Mon 2018-02-05 16:54:02 M
-10 8e461ed2593c4fd896ca3b71eb3c0fba Mon 2018-02-05 16:54:34 MST—Tue 2018-02-06 03:54:30 M
 -9 ec7ba0e4dfe241c0b9c978d278fcca6d Tue 2018-02-06 03:54:47 MST—Tue 2018-02-06 16:25:02 M
 -8 b5c110267c214c38b63d0a367197d118 Tue 2018-02-06 16:25:19 MST—Thu 2018-02-08 16:49:03 M
 -7 75c3b117ac6a4de984dc3ced15edb7f8 Thu 2018-02-08 16:49:22 MST—Fri 2018-02-09 03:51:09 M
 -6 7338bd1007bc42dda5c8667eeefe1a59 Fri 2018-02-09 03:51:26 MST—Fri 2018-02-09 16:55:52 M
 -5 4b6cd0121327454ca3db035c7ed42df6 Fri 2018-02-09 16:56:09 MST—Sat 2018-02-10 07:55:14 M
 -4 0d56207f9ec0405ca3a3fd638334de2f Sat 2018-02-10 07:55:32 MST—Mon 2018-02-12 22:16:05 M
 -3 0f230cc546fd4aec8f5233e0074ab3e1 Tue 2018-02-13 03:57:20 MST—Wed 2018-02-14 22:58:56 M
 -2 c0d2c0141dd840cbab75d3c2254f8781 Wed 2018-02-14 22:59:13 MST—Sat 2018-02-17 22:46:14 M
 -1 aafb2573a6374e019a7165cb8eee74a0 Sun 2018-02-18 06:02:03 MST—Mon 2018-02-19 04:16:36 M
  0 8462f1969c6f4d61973e7e245014b846 Mon 2018-02-19 04:16:53 MST—Wed 2018-02-21 04:07:07 M

lines 1-16/16 (END)

0
задан 12 February 2018 в 16:26

3 ответа

Просто запустите команду еще раз. wget достаточно умен, чтобы продолжить загрузку. Однако, вы должны указать правильные параметры.

Например, удалите параметр -nc, если вы хотите повторно загрузить измененные файлы (см. Также Пропустить загрузку, если файлы существуют в wget?):

-nc
--no-clobber
(...) Когда указано значение -nc, (...) Wget откажется от загрузки новых копий файла. Следовательно, «no-clobber» на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий. При запуске Wget с -r или -p, но без -N, -nd или -nc, повторная загрузка файла приведет к тому, что новая копия просто перезапишет старую. Добавление -nc предотвратит это поведение, вместо чего будет сохранена первоначальная версия, и любые новые копии на сервере будут игнорироваться.

Если загрузка была прервана во время загрузки большого файла, вы можете добавить опцию -c:

-c
--continue

(...) Когда указано значение -nc , (...) Wget откажется от загрузки новых копий файла. Таким образом, «no-clobber» «на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий.

7]

Продолжайте получать частично загруженный файл. Это полезно, когда вы хотите завершить загрузку, начатую предыдущим экземпляром Wget, или другой программой.

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

1
ответ дан 22 May 2018 в 13:14
  • 1
    Вы уверены, что wget продолжит? Я думал, что он будет следовать всем ссылкам снова с самого начала и просто загружать локальные файлы, а не загружать их, если локальные файлы существуют. – yukashima huksay 8 February 2018 в 15:15
  • 2
    @yukashimahuksay Он делает все возможное. Вы обязательно должны прочитать справочную страницу. «Wget был разработан для обеспечения надежности при медленных или нестабильных сетевых подключениях; если загрузка завершилась неудачно из-за проблемы с сетью, она будет продолжать повторять попытку до тех пор, пока весь файл не будет восстановлен. Если сервер поддерживает ретрансляцию, он будет инструктировать сервер продолжить загрузку с того места, где он остановился ». – Melebius 8 February 2018 в 15:33
  • 3
    Обратите внимание, что я не загружаю файл. Я зеркалирую большой веб-сайт, и я уже скачал 130k файлов. Боюсь, если я убью wget и перезагрузите его, ему придется перепроверить и обработать все те файлы, которые займут много времени. – yukashima huksay 8 February 2018 в 15:36
  • 4
    Да, он будет перепроверять файлы, но он не будет перезагружать их, если сервер может предоставить временные метки этих файлов, чтобы проверить, были ли они изменены. – Melebius 8 February 2018 в 16:27
  • 5
    это моя проблема. Как я уже сказал, я уже загрузил более 300000 файлов. И проверка всех их займет очень много времени. – yukashima huksay 9 February 2018 в 09:33

Просто запустите команду еще раз. wget достаточно умен, чтобы продолжить загрузку. Однако, вы должны указать правильные параметры.

Например, удалите параметр -nc, если вы хотите повторно загрузить измененные файлы (см. Также Пропустить загрузку, если файлы существуют в wget?):

-nc --no-clobber (...) Когда указано значение -nc, (...) Wget откажется от загрузки новых копий файла. Следовательно, «no-clobber» на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий. При запуске Wget с -r или -p, но без -N, -nd или -nc, повторная загрузка файла приведет к тому, что новая копия просто перезапишет старую. Добавление -nc предотвратит это поведение, вместо чего будет сохранена первоначальная версия, и любые новые копии на сервере будут игнорироваться.

Если загрузка была прервана во время загрузки большого файла, вы можете добавить опцию -c:

-c --continue

(...) Когда указано значение -nc , (...) Wget откажется от загрузки новых копий файла. Таким образом, «no-clobber» «на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий.

Продолжайте получать частично загруженный файл. Это полезно, когда вы хотите завершить загрузку, начатую предыдущим экземпляром Wget, или другой программой.

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

1
ответ дан 17 July 2018 в 21:18

Просто запустите команду еще раз. wget достаточно умен, чтобы продолжить загрузку. Однако, вы должны указать правильные параметры.

Например, удалите параметр -nc, если вы хотите повторно загрузить измененные файлы (см. Также Пропустить загрузку, если файлы существуют в wget?):

-nc --no-clobber (...) Когда указано значение -nc, (...) Wget откажется от загрузки новых копий файла. Следовательно, «no-clobber» на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий. При запуске Wget с -r или -p, но без -N, -nd или -nc, повторная загрузка файла приведет к тому, что новая копия просто перезапишет старую. Добавление -nc предотвратит это поведение, вместо чего будет сохранена первоначальная версия, и любые новые копии на сервере будут игнорироваться.

Если загрузка была прервана во время загрузки большого файла, вы можете добавить опцию -c:

-c --continue

(...) Когда указано значение -nc , (...) Wget откажется от загрузки новых копий файла. Таким образом, «no-clobber» «на самом деле является неправильным в этом режиме - это не сбивание, которое предотвращено (поскольку числовые суффиксы уже препятствуют сглаживанию), а скорее предотвращает сохранение нескольких версий.

Продолжайте получать частично загруженный файл. Это полезно, когда вы хотите завершить загрузку, начатую предыдущим экземпляром Wget, или другой программой.

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

1
ответ дан 23 July 2018 в 21:57

Другие вопросы по тегам:

Похожие вопросы: