А чем тебя список серверов в самом Nod не устраивает? В автоматическом выборе он именно так и работает.
Господа, а поделитесь опытом организации на WL500g сервера обновления для NOD32, который мог бы перебирать некий список серверов и собственно отслеживая за их живучестью делать обновления.
Может делал кто такое?
А чем тебя список серверов в самом Nod не устраивает? В автоматическом выборе он именно так и работает.
Хочется именно сервер, вот хочется и все тут
Что, неужели никто не делал???
Обновления nod скачивает по http
файл update.ver - хранит этот список. только он запакован в rar а формат распакованного файла - windows ini
Т.е. проблемы собственно две
1. Распаковать rar на роутере - навскидку не нашел unrar для linux mips
2. Разобрать ini-файл (в принципе можно что-то наверное изобразить на sed/awk, я в них не силен). В принципе можно запарится и попробовать regexp для grep наваять.
3. Далее - дело техники, на shell-е пишется скрипт, перебирает зеркала, качает.
Я зеркалирование реализовал на php+unrar+wget (+cron+busybox_httpd). Скрипт качает update.ver, распаковывает, сверяет его с локальным update.ver, качает обновленные модули, обновляет локальный update.ver. Только он сервера не перебирает и за их живучестью не следит.
Пока в моем скрипте есть недочеты. Неизвестно что может произойти, когда одновременно обновляется клиент с зеркала и обновляется само зеркало, но то что ничего хорошего это 100%. От этой неприятной ситуации можно избавится, если качать новые обновления в другой каталог, но до реализации этого всё руки недоходят.
Если кому интересно, то могу скрипт на почту скинуть. Код конечно кривоват, но чертпобери работает!
Насчет unrar. Для mipsel есть реализация под обновленный uClibc-0.9.28. За информацией лезть сюда: http://wl500g.info/showpost.php?p=34579&postcount=68.
О, скиньте мне пожалуйста
Почта: http://www.sitedevelop.ru/?page=contact
P.S.: Странно, поскачивал тут update.ver с разных зеркал при помощи разных бразуеров, так оно просто в окне браузера и показывается в виде текстового файла в .ini формате... где тут RAR?
Last edited by idmitry; 10-01-2007 at 10:14.
idmitry, скрипт по указанным реквизитам отправил.
Насчет update.ver. А с каких зеркал качал то? На официальном сервере в раре запакован он http://u24.eset.com/nod_upd/update.ver. На неофициальных зеркалах может и распакованный лежать. В моем скрипте он тоже обратно незапаковывается (нечем запаковывать, да и впрочем незачем)
Да, спасибо, скрипт получил А то уже начал было воять свой...
Что касается РАР, то Вы правы, по официальному адресу update.ver действительно упакован, в то время как на не официальных в большенстве своем он представлен в распакованом виде...
Все получилось запара только была с unrar, из-за которого пришлось все пакеты переставить... если ставить ту хитрую библиотечку, то у всех поставленных ранее приложений крышу сносит.
А так скриптик от Mam(O)n слегка причесал, снабдил возможностью перебора серверов и вуаля
Товарищи, выложите скрипт аттачем, очень хочется посмотреть
Да, и кто-нибудь ваял скрипт для 3.х версии антивируса?
У меня есть скрипт, работает на FreeBSD сервере, только он тоже под v2
Юзает Perl + unrar + wget, попробую перенести на роутер.
Очень хотелось-бы скрипт для 3 версии
Да.....
Хотелось бы увидеть скрипт + краткие комментарии что нужно для его работы (примеры)
WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12
Поскольку никто так ничего и не выложил тут, вчера вечерком накидал простенький скрипт для обновления с неофициального сервера.
Дальше можно совершенствовать для официальных серверов... Перебора серверов... Обновления с разных серверов и формирования своего update.ver.Code:#!/bin/sh WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало AVBASE_DIR=nod3 #имя папки, куда будут валиться базы SERVER=http://nod3.madbadjack.com #сервер, откуда обновляемся USER= PASS= cd $WEB_ROOT mkdir -p $WEB_ROOT/$AVBASE_DIR cd $AVBASE_DIR /opt/bin/wget -a log.txt -N --cache=off --http-user=$USER --password=$PASS $SERVER/update.ver #mv -f update.ver update.rar #unrar x -y update.rar FILES=`grep file= $WEB_ROOT/$AVBASE_DIR/update.ver|sed s/file=//|tr -d "\r"` for UPDFILES in $FILES; do /opt/bin/wget -a log.txt -N --cache=off --http-user=$USER --password=$PASS $SERVER/$UPDFILES done
Положил два скрипта для НОДа второй и третьей версии в CRON. Оба успешно работают. Начал разбирацца с официальными серверами, но заморачиваться не очень охота, т.к. ключи постоянно менять надо будет, а это уже автоматизировать тяжелее...
Вот скрипт для трешки , какой у меня стоит
Code:/opt/bin/wget -N -xnH -P /opt/share/www/lighttpd/ http://login:pass@update.eset.com/eset_upd/update.ver /opt/bin/unrar x -o+ /opt/share/www/lighttpd/eset_upd/update.ver /opt/tmp/ cat /opt/tmp/update.ver |grep file=/ |cut -d= -f2 >/opt/tmp/list /opt/bin/wget -N -xnH -P/opt/share/www/lighttpd/ -Bhttp://login:pass@update.eset.com -i/opt/tmp/list