Щас как раз занят тем чтобы сделать универсальный скриптик на любую версию. Уже заканчиваю. А потом сделаю чтоб переделывался update.ver для того чтобы удобно можно было раскладывать по папкам, а не так, как лежит на официальных серверах.
Скрипт, который разместил YAG качает обновы только на третью версию, а вот как заставить на вторую?
По логике заменил путь на вторую версию, но там update.ver в запакованном виде, получается, нужно как-то заставить его распаковаться и использовать.
Code:#!/bin/sh WEB_ROOT=/tmp/harddisk/www AVBASE_DIR=nod_upd SERVER=http://update.eset.com USER=********** PASS=******** cd $WEB_ROOT mkdir -p $WEB_ROOT/$AVBASE_DIR /opt/bin/wget -N --cache=off $SERVER/nod_upd/update.ver SERVERS=`grep Other= $WEB_ROOT/update.ver|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/nod_upd//` rm $WEB_ROOT/update.ver cd $WEB_ROOT/$AVBASE_DIR for UPDSERVERS in $SERVERS; do rm log.txt /opt/bin/wget -a log.txt -N --cache=off $UPDSERVERS/nod_upd/update.ver if grep saved log.txt; then mv -f update.ver update.rar /opt/bin/unrar x -y update.rar FILES=`grep file= $WEB_ROOT/$AVBASE_DIR/update.ver|sed s/file=//|tr -d "\r"` rm update.ver cd $WEB_ROOT for UPDFILES in $FILES; do /opt/bin/wget -xnH -N --cache=off --http-user=$USER --password=$PASS $UPDSERVERS/$UPDFILES done cd $WEB_ROOT/$AVBASE_DIR mv -f update.rar update.ver fi done rm log.txt
WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12
Щас как раз занят тем чтобы сделать универсальный скриптик на любую версию. Уже заканчиваю. А потом сделаю чтоб переделывался update.ver для того чтобы удобно можно было раскладывать по папкам, а не так, как лежит на официальных серверах.
Вот универсальный скриптик для второй и третьей версии. Пофиксено много мелких багов. Теперь будет побыстрее оббегать сервера.
1. Непосредственно файлы обновлений валяцца так же как на официальных серверах, т.е. в несколько папок в корень домена.Code:#!/bin/sh WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало AVBASE_DIR=nod #имя папки, куда будут валиться базы SERVER=http://update.eset.com #сервер, откуда обновляемся DIR=nod_upd #Раскоментировать если нужно зеркало для версии 2 #DIR=eset_upd #Раскоментировать если нужно зеркало для версии 3 или ESS USER=EAV-******** PASS=********** cd $WEB_ROOT mkdir -p $WEB_ROOT/$AVBASE_DIR /opt/bin/wget -N --cache=off $SERVER/$DIR/update.ver mv -f update.ver update.rar /opt/bin/unrar x -y update.rar if [ ! -f "update.ver" ]; then mv -f update.rar update.ver fi SERVERS=$SERVER" "`grep Other= $WEB_ROOT/update.ver|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/$DIR//` rm -f $WEB_ROOT/update.ver rm -f $WEB_ROOT/update.rar cd $WEB_ROOT/$AVBASE_DIR rm -f log.txt for UPDSERVERS in $SERVERS; do cp -f -p update.ver update.old /opt/bin/wget -a log.txt -N --cache=off $UPDSERVERS/$DIR/update.ver if [ "update.ver" -nt "update.old" ]; then mv -f update.ver update.rar /opt/bin/unrar x -y update.rar if [ ! -f "update.ver" ]; then cp -f -p update.rar update.ver fi FILES=`grep file= $WEB_ROOT/$AVBASE_DIR/update.ver|sed s/file=//|tr -d "\r"` rm -f update.ver cd $WEB_ROOT for UPDFILES in $FILES; do /opt/bin/wget -a $WEB_ROOT/$AVBASE_DIR/log.txt -xnH -N --cache=off --http-user=$USER --password=$PASS $UPDSERVERS/$UPDFILES done cd $WEB_ROOT/$AVBASE_DIR mv -f update.rar update.ver else cp -f -p update.old update.ver fi rm -f update.old done
2. В папку, которая указываецца вначале скрипта валицца только один файлик update.ver, но именно эта папка будет зеркалом. Еще там лежит файлик log.txt с логами последнего обновления формируемый wget'ом.
Так устроены официальные сервера ESET с обновлениями. ИМХО для зеркала это неудобно, поэтому на днях переделаю чтобы валилось все в одну папку и переписывался файлик update.ver
Быстро не получаецца, поскольку в линухе я чайник полнейший...
Какие будут еще предложения, замечания?
Last edited by YAG; 01-05-2008 at 09:13.
Last edited by Antosha; 01-05-2008 at 09:58.
WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12
Вручную запускать смысла не вижу (в ХРОНе замечательно работает), поэтому при ручном запуске ничего почти и не отображаецца, но все можно хорошо прослеживать, если интересно, по файлу log.txt. Две переменных тоже смысла не вижу. Если нужно два зеркала, то в ХРОН кладуцца два файлика просто для разных версий вот и все.
Катящиеся камни не обрастают мхом...
Last edited by Antosha; 01-05-2008 at 10:58.
WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12
ага
а так же на drweb, AVZ
вам нужен в таком случае Вьювер
к стати не оба сразу раскоментировать имелось ввиду наверное, а сделать два файла . один для v2 второй v3 и в кроне запускать их оба. соответственно получится 2 зеркала
YAG по поводу mod_compat.mod я вам ответил, точнее написал у кого спросить (Смотрим тут). Если хотите то могу дать его аську
Если вы не против то я ваш скрипт опубликую у себя от вашего имени, либо сделайте это сами
Last edited by DarkTwin; 01-05-2008 at 18:53.
WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12
вообщето 43 метра
DarkTwin, я не против чтоб выложить, только попозже. Еще тестю и исправляю баги всякие мелкие. Только что вот еще парочка обнаружилась. 200 метров... Говорю же разгребать надо update.ver. 200 метров потому что там все, что только можно для всех версий и языков. Это все не здорово. По-хорошему, это все нужно делать, чтоб настраивалось в скрипте.
Катящиеся камни не обрастают мхом...
YAG
Список того что нужно для версии v2.. это Rus и En остальное не надо... ну ну если есть извращенцы которым нужен китайский или немецкий то тогда да
Для версии v3 в аттаче
Antosha по поводу того что показывать что делает... скрипт ориентирован для запуска из крона ->> визуализация отсутствует как жанр. Вы можете смотреть лог
Last edited by DarkTwin; 01-05-2008 at 20:37.