GUID Большое спасибо , тестирую , через пару деньков отпишусь что к чему !!!!
GUID Большое спасибо , тестирую , через пару деньков отпишусь что к чему !!!!
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1
Понаблюдал за проблемой со скачиванием некоторых файлов. Оказалось, что проблема возникает, когда скрипт после успешного обновления базы, начинает рыскать по другим серверам и натыкается на ещё бОлее новый update.ver, скачивает его, парсит и докачивает "новые" файлы, через некоторое время обламывается на одном из них. Раньше этот алгоритм (слегка избыточный) работал без проблем, сейчас сервера делают отлуп такому настойчивому скачивальщику.
Для решения этой проблемы достаточно выйти из цикла серверов вставив команду break после того как скачается последний файл из текущего сервера.
Примерно так:
На текущий момент: два дня - проблем не обнаружено.Code:cd $WEB_ROOT/$AVBASE_DIR if [ -f "update.new" ]; then mv -f update.new update.tmp touch -am -r ./tmp/update.ver update.tmp echo Sucessfully downloads new updates >> $LOG break fi cd $WEB_ROOT/$AVBASE_DIR/tmp fi fi # Skipping server done
Проблема, когда скрипт решает скачать предыдущую версию базы под видом новой:
Решается проверкой пути перед скачиванием файла:Code:2013-03-27 23:20:16 NOD32 Updating script ver 0.6.14 successfully completed. ver: 8169 (20130327). 2013-03-27 23:33:20 NOD32 Updating script ver 0.6.14 successfully completed. ver: 8161 (20130325).
P.S. Отвечал по мере прочтения ветки - вижу эту проблему вроде как решили...PHP Code:
if [ ! -z $(echo $file|grep 'rel-stop') ]; then
echo full path: $file >> $LOG
echo rel-stop detected...next server! >> $LOG
break
fi
Оставлю сообщение на случай, если ещё какой-нибудь скриптописатель столкнется с этой проблемой
Для автора 0.7.x!
По поводу:
Смысл заключается в том, что-бы убрать всю кириллицу из странички, иначе очень тяжело парсить такую страницу...Я бы даже сказал что у меня нормально не получалось.убрана "iconv -c -f cp1251", что позволяет не устанавливать libiconv (которой нет в стандартных репозиториях) + вообще не понятен ее смысл (перекодировка из кирриллицы в никуда)
Last edited by Omega; 28-03-2013 at 11:36. Reason: 2 posts merged
Во-первых приветствую автора всей этой истории со скриптом no32upd!
А почему вообще возникла необходимость в данной избыточности?
Мне кажется, что "отлуп" случается и на первом сервере. Или я неправ? (не скажу, что внимательно изучал логи).
Код приведен для вашей версии скрипта (0.6.х), да? Из чего я делаю вывод, что он (скрипт) до сих пор успешно работает, верно?
Вам удалось разобраться в чем назначение серверов обновлений с 'rel-stop' ? Или слова про "предыдущую версию базы" - просто предположение?
Я бы не называл это решением - просто подсунули костылик. Впрочем, Вы предлагаете точно такой же.
WL500gp-1.9.2.7-d-r2624
Спасибо, автор не я... я такой-же "апдейтер" данного скрипта, как и Вы.
Что-бы иметь максимально последнюю версию базы... Раньше несколько раз замечал, что не всегда новые версии были на всех серверах одновременно. Сейчас вроде такого не наблюдается, зато сейчас имеем упорное "подкидывание" старых баз. (rel-stop)
Ни разу не замечал отлупа на первом сервере. Я думаю недельная эксплуатация скрипта покажет верность суждения.
Да, скрипт версии 0.6.x успешно работал до конца 2012 года, меня он вполне устраивал, времени что-то совершенствовать у меня не было (тяжело заканчивался 2012). Когда появились первые отлупы (ошибки скачивания) сначала не обращал внимание на них, потом они стали настолько часто появляться, что пришлось заняться этой проблемой.
Назначение этих папок на серверах мне неизвестно... Более того, промониторив форумы других скриптописателей - почти у всех такая проблема присутствует. Меня смущает тот факт, что файл update.ver имеет бОлее новую дату модификации, но при этом ссылается на существенно бОлее старую версию баз. Возможно это связано с тем, что 99% ключей сейчас имеет триальный статус, когда буквально ещё полгода назад большинство ключей были коммерческими. А ещё с 3ей версии NOD32 фирма ESET заявляла что коммерческий ключ отличается от триального только в запоздалом обновлении антивируса, а весь другой функционал полностью сохраняется, возможно мы это сейчас иногда наблюдаем.
Это пока единственное НЕРЕСУРСОЕМКОЕ решенение данной проблемы. Гораздо красивее было-бы отпарсить якобы новую версию
update.ver - узнать версию базы и на основании этого принять решение о скачивании базы. Но не на наших роутерах - это будет существенно более медленно, чем просто посмотреть "новизну" файла по дате и обломить закачку практически в самом начале перед скачивании первых файлов.
P.S. Что было сделано, из существенного за последнее время:
- Сменил строку User-Agent на такую:
"Выцарапав" её из ESET Smart Security v4.2.64.12, который установлен у меня.Code:ESS Update (Windows; U; 32bit; VDB 13362; BPC 4.2.64.12; OS: 5.1.2600 SP 3.0 NT; TDB 13362; CH 0.0; LNG 1033; x32c; UPD AUTOSELECT; APP ess; BEO 1; CPU 5964; ASP 0.0; FW 0.1; PX 1; PUA 0)
- Сильно порезал список качающихся компонентов, выбрал только то, что надо для такой версии как у меня. Сократив размер базы в два раза, до 32Мб. Сейчас подключил компоненты для x64, размер возрос до 40,5Мб.
Список компонентов на удаление:
Сделал это обычным способом:Code:[MAILSERVER0] [MAILSERVER1] [MAILSERVER2] [HIPS0] [HIPS1] [HIPS2] [PROTOSCAN0] [PROTOSCAN1] [PARENTAL0] [PARENTAL1] [PARENTAL2] [HORUS0] [HORUS1] [HORUS2] [DB0] [DB1] [DB2] [IRIS0] [IRIS1] [IRIS2]
Список возможно надо будет сократить в случае использования последних версий NOD.Code:sect=$(echo $sect|sed 's/^MAILSERVER.*]/DELETE]/;s/^HIPS.*]/DELETE]/;s/^PROTOSCAN.*]/DELETE]/;s/^PARENTAL.*]/DELETE]/;s/^HORUS.*]/DELETE]/;s/^DB.*]/DELETE]/;s/^IRIS.*]/DELETE]/')
- Также поставил по умолчанию на удаление компоненты частичного обновления [CONTINUOUS_ - при современных скоростях интернета, на мой взгляд это всё не нужно.
GUID Спасибо за последнею версию скрипта , использую её с того момента как вы выложили её сюда на форум , работает отлично ,за всё время не единой запинки в скачивании баз . Ещё раз огромное спасибо !!!!!
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1
Наверное потому, что пока не вижу большого смысла занимать ещё больше ресурсов своего компа на практически не нужную для меня работу... Я сидел на всех версиях нода начиная от 2 и замечал как с каждой новой версией он становится всё более и более ресурсоемок. Даже внутри одной версии 4 - первые версии существенно меньше нагружали комп в отличии от последних сборок. Надобность для меня во всех наворотах 5 или 6 версии у меня лично под сомнением.
использую lighthttpd , вроде получилось сделать но сам до конца не понял как сделал))), но если не сложно опишите как правильно это делается...
Вопрос не в тему конечно но можно ли доступ к базам сделать по логину с паролем? если да то подскажите пожалуйста как это сделать....
"Базы" отдаются по протоколу http обычным http-сервером (nginx, lighthttpd). Поэтому "доступ по паролю" реализуется настройкой используемого сервера.
Проще всего погуглить "имя_сервера как поставить пароль на папку".
Вариант 2: написать здесь каким именно сервером Вы пользуетесь - может быть кто-нибудь и ответит.
WL500gp-1.9.2.7-d-r2624
Удалите содержимое папки BASE или куда у Вас льются файлы.
У меня тоже такая проблема была!!
Здравствуйте. Уважаемые знатоки, внимание вопрос: можно запусть данный скрипт на убунте? может кто проделывал подобное? ссылочку бы...
Добрый вечер! Подскажите пожалуйста - скрипт сейчас работает? У меня при запуске создаются все необходимые файлы, ключи с сайтов собираются, но при попытке скачивания обновлений все останавливается с ошибкой авторизации.