Рекурсивный wget в конечном счете начинает перестать работать с “Не могущим разрешить хост” / “Временный отказ в определении имен”

Если Вы устанавливаете полномочия на файлах к: 0600 или набор umask 077 для пользователя, запускающего приложение, файлы только будут доступны пользователем приложения и root.

3
27.02.2013, 02:41
1 ответ

К сожалению, истинная фиксация будет, скорее всего, использовать последнюю версию wget поскольку проблемы были, вероятно, устранены там. 1.11 приблизительно 5 лет. Существует 1.11.4 также, если Вы, оказывается, используете оригинал 1.11.

Кроме того (и это ужасно.. и не мог бы работать в зависимости от того, что инициировало использование дескриптора файла):

  • Увеличьте файл ulimit для пользователя, работающего wget.
  • Разработайте способ возобновить Ваш wget приятно.
  • Контролируйте fd использование через lsof или простое ls /proc/$pid/fd
  • Перезапустите Ваш wget когда это рядом с Вашим ulimit из файлов.

Иначе необходимо было бы проследить то, что пропускает fd's в wget и исправьте его. Могут быть известные патчи утечки дескриптора файла, которые Вы могли бэкпортировать к 1,11. Я, может казаться, не нахожу общедоступное управление версиями для wget источник все же.

2
27.01.2020, 21:28
  • 1
    я вполне уверен, я видел это в 1,13, прежде чем я заметил noclobber проблема, но я подозреваю, что Вы правы относительно дескрипторов файлов. И да, в то время как можно получить tarball источника выпуска, GNU является, к сожалению, довольно много устаревшим с точки зрения общедоступного управления исходным кодом. –  David Moles 27.02.2013, 21:47
  • 2
    @mindthemonkey: curl и Perl WWW::Mechanize могла быть альтернатива также. –  0xC0000022L 27.02.2013, 21:51
  • 3
    @0xC0000022L curl взял бы много сценариев хотя, поскольку это не имеет рекурсивных/зеркальных функций. Я не использовал WWW::Mechanize, но это выглядит одинаково, модуль, с которым Вы могли записать рекурсивный метод считывания жемчуга? –  Matt 27.02.2013, 22:31
  • 4
    @mindthemonkey: да, Вы делаете парсинг себя для разрешения ссылок, это корректно. –  0xC0000022L 27.02.2013, 22:47

Теги

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