Page 6 of 54 FirstFirst ... 4567816 ... LastLast
Results 76 to 90 of 796

Thread: NOD32 update server

  1. #76
    Quote Originally Posted by YAG View Post
    Сколько тестил неверные ключики писал только на неверные... Попробуйте убедиться что они действительно верные.
    Но файлики то качает. Попробовал еще раз удалить всю папку и заново запустить скрипт. Последние три строчки:
    Code:
    cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory
    cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory
    Неверные ключики
    При повторном запуске, все тоже самое, только "cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory" один раз пишет.
    В логе только одна запись "Неверные ключики" в обоих случаях.

    Странно, перепробовал еще штук двадцать свежих ключиков, результаты следующие. Бывают три ситуации:

    1. Когда ключик неправильный, и скрипт сразу говорит об этом и отключается (20%). В логе пишет "Неверные ключики".
    2. Скрипт зависает на 4-5 минут, качает файлики, но потом говорит, что ключики неверные (60%). В логе пишет "Неверные ключики".
    3. Скрипт зависает на 4-5 минут и ничего не говорит, но лог нормальный полный. Причем при повторном запуске строчки "cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory" не появляется совсем (20%).

    Может там в список серверов одно триальное есетовское зеркало затесалось?

  2. #77
    Добрый день\вечер. Зеркало я обновляю так: создал 2 файла. для третьей и второй версии примерно с таким содержанием:

    Code:
    #!/bin/sh
    wget -t 0 -N -P /opt/share/www/nod32v2/ -i /opt/share/www/nod32/2
    где /opt/share/www/nod32/2 путь для файла со списком ссылок на файлы которые надо выкачивать. Выкачиваю все т.к. нету метки времени на файлах. С этим еще мириться можно. Но я так и не научил роутер чтобы он запускал мне скачку автоматически. т.к. кронтаб выдает.
    Code:
    [admin@wl500]$ crontab -e
    You (admin) are not allowed to use this program (crontab)
    See crontab(1) for more information
    Помогите заставить обновляться зеркала по времени...

  3. #78
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Quote Originally Posted by Protei View Post
    Но файлики то качает. Попробовал еще раз удалить всю папку и заново запустить скрипт. Последние три строчки:
    Code:
    cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory
    cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory
    Неверные ключики
    При повторном запуске, все тоже самое, только "cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory" один раз пишет.
    В логе только одна запись "Неверные ключики" в обоих случаях.

    Странно, перепробовал еще штук двадцать свежих ключиков, результаты следующие. Бывают три ситуации:

    1. Когда ключик неправильный, и скрипт сразу говорит об этом и отключается (20%). В логе пишет "Неверные ключики".
    2. Скрипт зависает на 4-5 минут, качает файлики, но потом говорит, что ключики неверные (60%). В логе пишет "Неверные ключики".
    3. Скрипт зависает на 4-5 минут и ничего не говорит, но лог нормальный полный. Причем при повторном запуске строчки "cannot stat `/tmp/harddisk/nod_upd/nod3/update.ver': No such file or directory" не появляется совсем (20%).

    Может там в список серверов одно триальное есетовское зеркало затесалось?
    Значит 1-я ситуация ясна. Ключики не подходят. 3-я ситуация это когда все нормально. Строчка эта появляется если запускаешь первый раз и никакого зеркала еще нет. На строчку не обращайте внимания. Теперь думаем про второй случай... Я вот подумал что... Вы скрипт в ХРОН кладете? Если да, то есть такая детская болезнь. Если он запустился из ХРОНа и Вы его еще запустили в то время пока он еще не закончил работу, то ничего хорошего не получится, равно как и если он из ХРОНа сам запустится в тот момент когда еще не доработал до конца. Вот тут могут быть варианты вроде второго...
    Вот в этом фрагменте
    Code:
               Auth=`grep 'Authorization failed' log.txt`
               if [ ${#Auth} != 0 ]; then
    	     echo Неверные ключики
    	     rm -f log.txt
    	     echo Неверные ключики > log.txt
    	     rm -f update.rar
    	     rm -f update.old
    	     rm -f update.ver
    	     mv -f $WEB_ROOT/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    	     exit
    	   fi
    уберите строчку rm -f log.txt. Запускайте с учетом того что я сказал выше и смотрите логи. Они будут во всех случаях полные и можно будет сказать наверняка что произошло.
    Кстати, не подскажете как проверить работает ли уже скрипт в памяти, чтобы не допускать запуска второй копии?

    aka*sAmmY, если Вы ХРОН ставили так как это описано в инструкции с нуля на этом форуме, то дальше просто кладете скрипт который нужно чтобы запустился в соответствующую папку и все. crontab редактировать не надо даже. Мне вот только интересно где это вы готовый файл берете со списком файлов? И еще где под это получившееся месево Вы берете свежий update.ver???
    Last edited by YAG; 08-05-2008 at 02:31.
    Катящиеся камни не обрастают мхом...

  4. #79
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Вот сделал простенькую проверку на запущенность скрипта, ну и вылечил от детских болезней...
    Code:
    #!/bin/sh
    WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало
    AVBASE_DIR=nod3 #имя папки, куда будут валиться базы
    SERVER=http://update.eset.com #сервер, откуда обновляемся
    #######################################################################
    #                 Раскоментировать что-либо одно!!!!!                 #
    #DIR=nod_upd #Раскоментировать если нужно зеркало для версии 2
    DIR=eset_upd #Раскоментировать если нужно зеркало для версии 3 или ESS
    #######################################################################
    
    USER=EAV-********
    PASS=**********
    
    if [ ! -f "/var/run/$AVBASE_DIR.PID" ]; then
       echo $$ > /var/run/$AVBASE_DIR.PID
    else
       echo Процесс обновления зеркала уже запущен. Пожалуйста дождитесь его окончания.
       echo Если Вы уверены что это не так, то удалите файл /var/run/$AVBASE_DIR.PID
       exit
    fi
    
    cd $WEB_ROOT
    mkdir -p $WEB_ROOT/$AVBASE_DIR
    mkdir -p $WEB_ROOT/$AVBASE_DIR/tmp
    cd $WEB_ROOT/$AVBASE_DIR/tmp
    /opt/bin/wget -N --cache=off -t 5 --connect-timeout=20 $SERVER/$DIR/update.ver
    mv -f update.ver update.rar
    /opt/bin/unrar x -y -inul update.rar
    if [ ! -f "update.ver" ]; then
       mv -f update.rar update.ver
    fi
    SERVERS=`grep Other= update.ver|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/$DIR//|sed s/'\n'/' '/|sed 1d`
    rm -f update.ver
    rm -f update.rar
    rm -f $WEB_ROOT/$AVBASE_DIR/log.txt
    for UPDSERVERS in $SERVERS; do
       cp -f -p $WEB_ROOT/$AVBASE_DIR/update.ver $WEB_ROOT/$AVBASE_DIR/tmp/update.old
       /opt/bin/wget -a log.txt -N --cache=off -t 5 --connect-timeout=20 $UPDSERVERS/$DIR/update.ver
       if [ "update.ver" -nt "update.old" ]; then
         mv -f update.ver update.rar
         /opt/bin/unrar x -y -inul update.rar
         if [ ! -f "update.ver" ]; then
            cp -f -p update.rar update.ver
         fi
         IFS=[
         for section in `cat update.ver|sed '1s/\[//;s/^ *//'|grep -v '^#'|grep -v '^$'`; do
    ############################################################################
    # ЗАКОМЕНТИРОВАТЬ здесь НУЖНЫЕ языки                           #
            sect=$(echo $section|sed 's/^.*_CZECH_.*]/DELETE]/')   # Чешский
    #        sect=$(echo $sect|sed 's/^.*_ENGLISH_.*]/DELETE]/')    # Английский
            sect=$(echo $sect|sed 's/^.*_FRENCH_.*]/DELETE]/')     # Французкий
            sect=$(echo $sect|sed 's/^.*_GERMAN_.*]/DELETE]/')     # Немецкий
            sect=$(echo $sect|sed 's/^.*_ITALIAN_.*]/DELETE]/')    # Итальянский
            sect=$(echo $sect|sed 's/^.*_JAPANESE_.*]/DELETE]/')   # Японский
            sect=$(echo $sect|sed 's/^.*_POLISH_.*]/DELETE]/')     # Польский
            sect=$(echo $sect|sed 's/^.*_PORTUGUESE_.*]/DELETE]/') # Португальский
            sect=$(echo $sect|sed 's/^.*_SLOVAK_.*]/DELETE]/')     # Словацкий
            sect=$(echo $sect|sed 's/^.*_SPANISH_.*]/DELETE]/')    # Испанский
            sect=$(echo $sect|sed 's/^.*_CROATIAN_.*]/DELETE]/')   # Хорватский
            sect=$(echo $sect|sed 's/^.*_HUNGARIAN_.*]/DELETE]/')  # Венгерский
            sect=$(echo $sect|sed 's/^.*_CHINESE_.*]/DELETE]/')    # Китайский
            sect=$(echo $sect|sed 's/^.*_DUTCH_.*]/DELETE]/')      # Датский
    ##################################################################################################################
    #                                Файлы обновлений для уменьшения трафика                                         #
    #                                     ЗАКОМЕНТИРОВАТЬ если ЗАГРУЖАТЬ                                             #
    #        sect=$(echo $sect|sed 's/^CONTINUOUS_.*]/DELETE]/;s/^REVERSE_.*]/DELETE]/;s/^PRELIMINARY_.*]/DELETE]/') #
    ################################################################################################################## 
            sect=$(echo $sect|sed 's/^VER]/DELETE]/;s/^HOSTS]/DELETE]/;s/^Expire]/DELETE]/;s/^SETUP]/DELETE]/;s/^COMPATLIST]/DELETE]/;s/^data0001]/DELETE]/')
            if [ -z $(echo $sect|grep '^DELETE]') ]; then
               eval $(echo $sect|tr -d "\r"|grep 'file='|sed 's/ *=/=/;s/= */=/')
               mv -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    	   cd $WEB_ROOT/$AVBASE_DIR
               /opt/bin/wget -a log.txt -N --cache=off -t 5 --connect-timeout=20 --http-user=$USER --password=$PASS $UPDSERVERS/$file
    	   cd $WEB_ROOT/$AVBASE_DIR/tmp
               cp -f $WEB_ROOT/$AVBASE_DIR/log.txt $WEB_ROOT/$AVBASE_DIR/tmp/log.txt
               Auth=`grep 'Authorization failed' log.txt`
               if [ ${#Auth} != 0 ]; then
    	     echo Неверные ключики
    	     rm -f log.txt
    	     echo Неверные ключики > log.txt
    	     rm -f update.rar
    	     rm -f update.old
    	     rm -f update.ver
    	     mv -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    	     rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    	     rm -f /var/run/$AVBASE_DIR.PID
    	     exit
    	   fi
    	   Saved=`grep '$file.* saved' log.txt`
               if [ ${#Saved} != 0 ]; then
    	     echo Ошибка загрузки файла
    	     rm -f log.txt
    	     echo Ошибка загрузки файла $file > log.txt
    	     rm -f update.rar
    	     rm -f update.old
    	     rm -f update.ver
    	     mv -f $WEB_ROOT/AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    	     rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    	     rm -f /var/run/$AVBASE_DIR.PID
    	     exit
    	   fi
    	   echo [$(echo $sect|sed 's/file=.*\//file=/') >> $WEB_ROOT/$AVBASE_DIR/update.new
            fi
         done
         IFS=' '
         cd $WEB_ROOT/$AVBASE_DIR
         if [ -f "update.new" ]; then
            rm -f update.ver
            mv -f update.new update.ver
            touch -am -r $WEB_ROOT/$AVBASE_DIR/tmp/update.rar $WEB_ROOT/$AVBASE_DIR/update.ver
         fi
       fi
       cd $WEB_ROOT/$AVBASE_DIR/tmp
       rm -f update.rar
       rm -f update.old
       rm -f update.ver
    done
    mv -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    rm -f /var/run/$AVBASE_DIR.PID
    Катящиеся камни не обрастают мхом...

  5. #80
    YAG
    Запускал ручками, не через Cron. Через Cron он у меня запускается один раз в ночное время.

    У меня проверку на запуск rtorrent проходит вот так:

    Code:
    #!/bin/sh
    if /bin/ps | /bin/grep -v grep | /bin/grep rtorrent >/dev/null; then
        echo rtorrent already started
        exit
    fi
    echo starting rtorrent
    rm /tmp/harddisk/torrent/session/rtorrent.lock >/dev/null
    stty stop undef && stty start undef
    /opt/bin/screen -dmS rtorrent /opt/bin/rtorrent -no import=/tmp/local/root/.rtorrent.rc
    logger rtorrent started
    С новой версией скрипта все работает пока нормально. Более того, при повторном запуске больше не "ждет" 4 минуты. Отрабатывает секунд 15 и отключается. Может добавить для понятности echo "Обновление не требуется."?! Хм-м-м... Правда в логе для второй версии последняя строчка такая:
    Code:
    --2008-05-08 11:10:40--  http://nod32.telefonica.com.ar:81///nod_upd/update.ver
    Resolving nod32.telefonica.com.ar... 200.51.255.254
    Connecting to nod32.telefonica.com.ar|200.51.255.254|:81... connected.
    HTTP request sent, awaiting response... 401 Authorization Required
    Authorization failed.
    Это что за зеркало такое? Вообще, подскажите, пожалуйста, откуда он берет весь список серверов, по которым ходит? Или он соединяется с http://update.eset.com, а список выдается там?

    Будут еще ошибки, отпишусь.

  6. #81
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Да, сервера берет по адресу http://update.eset.com. Последний сервер там этот (телефоника который)не нужен. Согласен. Потом отделю его. Пока не обращайте на него внимания.
    Катящиеся камни не обрастают мхом...

  7. #82
    Еще такой важный вопрос. Как сервер Eset отслеживает количество обновляемых компьютеров с одним номерком?

    Допустим, я приобрел лицензию на 5 компьютеров и мне прислали файлик лицензии. Что мне теперь мешает создать зеркало на одном компьютере и обновляться с него всеми 100 компьютерами организации. Будет ли как-то вестись подсчет этих компьютеров. Может при обновлении базы на сервер Eset передается еще какая-либо информация, связанная с этим?

    Не заблокируют ли мой номерок если я его буду использовать на 4 компьютерах, а пятый для создания зеркала на маршрутизаторе. Посчитается ли вообще тогда пятый, ведь обновление идет не из под винды? Могу ли я после использования номерка на одном компьютере, начать использовать его на другом, прекратив на первом? Возможно ли, что компьютеры отслеживаются по ip, и тогда не важно сколько компьютеров оновляются из под одного айпишника?

    Звонил в техподдержку NOD по этим вопросам, но они что-то темнят. Буду очень благодарен, если кто-то сможет ответить. Просто проще купить один ключик для зеркала, а потом всем с него обновляться, чем постоянно искать новые ключи.

  8. #83
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    Файл лицензии это не номер и к данному скрипту вы его не подключите, нужны именно ключи. Вместе с файлами обновлений приходит еще и (ну это то что я знаю) блэклисты.. имена забаненых зеркал... так же приходит информация о сроке окончания ключей (за 10 дней до окончания).
    Если вы создадите зеркало у себя в сети то можете хоть 1000 компов с одного номера обновлять, но если компания ESET квам придет то это как говорится ваши проблемы будут. Информация о том сколько с одного зеркала обновилось компов не передается, а вот если всем раздать один и тот же ключ и они будут обновляться с разных IP то ключ хабанят... разницы на какой платформе запущено зеркало нету. Я пока о случаях таких исков не знаю.. зато они активно банят зеркала которые в интернете.
    Last edited by DarkTwin; 09-05-2008 at 11:07.

  9. #84
    DarkTwin
    Спасибо за помощь!

    Конечно я знаю, что это не номер. Вопрос именно был именно в том, что отслеживается ли как-то количество обновляемых компьютеров в одной сети с созданного под виндой средствами ESS зеркала. Как я понял из ответа, я могу приобрести минимальную лицензию на 5 компьютеров, а обновляться с любого количества и это никак не отследить кроме как личного визита?

    И правильно ли я понимаю, что поставив зеркало с лицензионным ключом на роутер, так же безболезненно с меня смогут обновляться любое количество компьютеров? Просто я предполагал что вместе с базой могут передаваться сведения о ключе, с помощью которого происходило обновление моего зеркала на маршрутизаторе. То есть все, кто с меня будут обновляться, тоже будут посчитаны как используемые этот ключ, после чего он будет заблокирован. Но если это не так, то это облегчает дело.

    Если пять компьютеров в одной рабочей сети будут обновляться из под одного айпишника они защитаются за один используемы ключ? То есть, подсчет ведется только по айпишнику? Никакие данные платформы или оборудования не передаются? И возможно ли прекратить использование ключика на одном ip, и начать использовать на другом?

  10. #85
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Protei, сколько много ненужных вопросов

    Главное понять, как идёт обновление.

    Что бы скачать базы, надо, что бы клиент зашёл на страничку с базами, там запрашивается идентификация, вводится ключик с паролем и получается доступ к базам.

    А вот если штук 50 компов будут лезть в одно и тоже (в разное) время то сервера авторизации забанят даже и не думая.

    Поставив зеркало на роутер, из внутренней сети ничего наружу не вылезет и клиентам ставить ключи лицензии не надо, только указать путь до баз на роутере.
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  11. #86
    Antosha
    Кому не нужных? Точно не мне.

    Я пытаюсь понять как происходит проверка и бан ключиков, чтобы не выкидывать на ветер 12000 рублей, и чтобы безвоздмезно сделать для людей бесплатное зеркало. Возможно, я конечно перестраховываюсь, но береженого бог бережет.

    Процесс авторизации мне известен. Однако что мешает клиентам на компьютере отправлять служебную информацию на серер Есет, даже если они обновляются с другого неофициального зеркала. Например, при помощи системы своевременного обнаружения.

    Как они будут определять, что лезет 50 компов, а не 5 десять раз?

    Кто говорил, что с роутера будут обновляться из внутренней сети?

    Я знаю, что файл лицензии нужен только на том компьютере, где будет создаваться зеркало.

    Все вопросы остаются в силе. Если кто сможет ответить буду очень благодарен!

  12. #87
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Quote Originally Posted by Protei View Post
    Процесс авторизации мне известен. Однако что мешает клиентам на компьютере отправлять служебную информацию на серер Есет, даже если они обновляются с другого неофициального зеркала. Например, при помощи системы своевременного обнаружения.
    Главное, не втыкать ключи в клиентов (могут сами клиенты увести)

    Как они будут определять, что лезет 50 компов, а не 5 десять раз?
    Одновременное количество входов на сервер авторизации

    Кто говорил, что с роутера будут обновляться из внутренней сети?
    Ну не с роутера.
    Значит нужно было сказать что все компы имеют доступ в инет.


    А Вы хотите заставить всех клиентов обновляться с инета или с зеркала?
    Проще сделать зеркало и указать в настройках обновление с зеркала, а клиентам не надо устанавливать ключики, т.к. это никоим образом не повлияет на то, что будет скачиваться с зеркала (т.е. полное обновление).

    P.S.
    ну вот как Вам ещё понятнее объяснить-то?
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  13. #88
    Quote Originally Posted by Antosha View Post
    Одновременное количество входов на сервер авторизации

    А Вы хотите заставить всех клиентов обновляться с инета или с зеркала?
    Проще сделать зеркало и указать в настройках обновление с зеркала, а клиентам не надо устанавливать ключики, т.к. это никоим образом не повлияет на то, что будет скачиваться с зеркала (т.е. полное обновление).

    P.S.
    ну вот как Вам ещё понятнее объяснить-то?
    Это достоверная информация или ваше ИМХО? То есть, если я раздам свой ключик сотне людей и мы установим разное время обновления, то ключик не забанят?

    Я хочу, чтобы зеркало стояло на роутере, созданное при помощи скрипта из этой темы. Но чтобы не искать постоянно новые неофициальные ключи, я хочу приобрести лицензию.

    Ну а что вы объясняете то? Вы мои вопросы внимательно читали? За попытку спасибо!

    Так, пойдем другим путем. Кто-нибудь устанавлиал на роутер зеркало с официальным ключом? Кто-нибудь пробовал использовать официальный ключ сначало на одной машине, а потом на другой? Ключик жив?
    Last edited by Protei; 09-05-2008 at 18:20.

  14. #89
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Quote Originally Posted by Protei View Post
    Это достоверная информация или ваше ИМХО? То есть, если я раздам свой ключик сотне людей и мы установим разное время обновления, то ключик не забанят?
    Скорей всего это получится как у Касперского.
    Ключик можно хоть 1000 людям дать, лишь бы был один IP у всех, ну и разное время, хотя бы интервал между каждым минут 5-20.

    У меня на глазах ключик забанили у каспера.
    В кратце:
    выложили ключик на форуме, скачало 5 чел с разными ip, начали обновляться и через 2 часа ключик появился в бане.

    Я хочу, чтобы зеркало стояло на роутере, созданное при помощи скрипта из этой темы. Но чтобы не искать постоянно новые неофициальные ключи, я хочу приобрести лицензию.
    Ну купите один ключик для зеркала и всё
    Остальных натравливаете на зеркало и радуетесь.
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  15. #90
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Protei, думаю никто не ответит Вам на Ваши вопросы, особенно на этом форуме. Теперь мои мысли по этому поводу....
    Ну во-первых, не вижу проблемы купить ключик и проверить. Не так уж дорого он стоит на одну машину. ИМХО.
    Во-вторых, если пока покупать не охота, то делаем следующее. Делаем зеркало на роутере. Мой скрипт отсылать ничего не отсылает (ну что можно определить без этого понятно). Он просто забирает файлики. Ставим на несколько компов НОД. Ставим какой-нить (не ЕСЕТовский) файер. На НОДе настраиваем обновление с роутера. Ну и постоянно смотрим куда будет пытацца ломицца НОД и зачем. Со включенным своевременным обнаружением и без такового. У меня щас с зеркала на роутере обновляюцца несколько человек с разных городов постоянно. Ключ взят в совершенно открытом месте в инете. Т.е. используецца скорее всего очень многими. Живет пока несколько недель. НОД файером пока ловить не пытался. Попробуйте. Отпишитесь.
    З.Ы.: Вот новая версия.
    Code:
    #!/bin/sh
    WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало
    AVBASE_DIR=nod3 #имя папки, куда будут валиться базы
    SERVER=http://update.eset.com #сервер, откуда обновляемся
    #################################################################################
    #			Раскоментировать что-либо одно!!!!!			#
    #	DIR=nod_upd #Раскоментировать если нужно зеркало для версии 2		#
    	DIR=eset_upd #Раскоментировать если нужно зеркало для версии 3 или ESS	#
    #################################################################################
    
    USER=EAV-********
    PASS=**********
    
    if [ ! -f "/var/run/$AVBASE_DIR.PID" ]; then
        echo $$ > /var/run/$AVBASE_DIR.PID
    else
        echo Процесс обновления зеркала уже запущен. Пожалуйста дождитесь его окончания.
        echo Если Вы уверены что это не так, то удалите файл /var/run/$AVBASE_DIR.PID
        exit
    fi
    
    cd $WEB_ROOT
    mkdir -p $WEB_ROOT/$AVBASE_DIR
    mkdir -p $WEB_ROOT/$AVBASE_DIR/tmp
    cd $WEB_ROOT/$AVBASE_DIR/tmp
    /opt/bin/wget -q -N -nv --cache=off -t 5 --connect-timeout=20 $SERVER/$DIR/update.ver
    mv -f update.ver update.rar
    /opt/bin/unrar x -y -inul update.rar
    if [ ! -f "update.ver" ]; then
        mv -f update.rar update.ver
    fi
    SERVERS=`grep Other= update.ver|grep -v 'Telefonica-Other='|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/$DIR//|sed s/'\n'/' '/|sed 1d`
    rm -f update.ver
    rm -f update.rar
    rm -f $WEB_ROOT/$AVBASE_DIR/log.txt
    for UPDSERVERS in $SERVERS; do
        cp -f -p $WEB_ROOT/$AVBASE_DIR/update.ver $WEB_ROOT/$AVBASE_DIR/tmp/update.old
        /opt/bin/wget -nv -a log.txt -N --cache=off -t 5 --connect-timeout=20 $UPDSERVERS/$DIR/update.ver
        if [ "update.ver" -nt "update.old" ]; then
            mv -f update.ver update.rar
    	/opt/bin/unrar x -y -inul update.rar
    	if [ ! -f "update.ver" ]; then
    	    cp -f -p update.rar update.ver
    	fi
    	IFS=[
    	for section in `cat update.ver|sed '1s/\[//;s/^ *//'|grep -v '^#'|grep -v '^$'`; do
    #########################################################################################
    #			ЗАКОМЕНТИРОВАТЬ здесь НУЖНЫЕ языки		#		#
    	    sect=$(echo $section|sed 's/^.*_CZECH_.*]/DELETE]/')	# Чешский	#
    #	    sect=$(echo $sect|sed 's/^.*_ENGLISH_.*]/DELETE]/')		# Английский	#
    	    sect=$(echo $sect|sed 's/^.*_FRENCH_.*]/DELETE]/')		# Французкий	#
    	    sect=$(echo $sect|sed 's/^.*_GERMAN_.*]/DELETE]/')		# Немецкий	#
    	    sect=$(echo $sect|sed 's/^.*_ITALIAN_.*]/DELETE]/')		# Итальянский	#
    	    sect=$(echo $sect|sed 's/^.*_JAPANESE_.*]/DELETE]/')	# Японский	#
    	    sect=$(echo $sect|sed 's/^.*_POLISH_.*]/DELETE]/')		# Польский	#
    	    sect=$(echo $sect|sed 's/^.*_PORTUGUESE_.*]/DELETE]/')	# Португальский	#
    	    sect=$(echo $sect|sed 's/^.*_SLOVAK_.*]/DELETE]/')		# Словацкий	#
    	    sect=$(echo $sect|sed 's/^.*_SPANISH_.*]/DELETE]/')		# Испанский	#
    	    sect=$(echo $sect|sed 's/^.*_CROATIAN_.*]/DELETE]/')	# Хорватский	#
    	    sect=$(echo $sect|sed 's/^.*_HUNGARIAN_.*]/DELETE]/')	# Венгерский	#
    	    sect=$(echo $sect|sed 's/^.*_CHINESE_.*]/DELETE]/')		# Китайский	#
    	    sect=$(echo $sect|sed 's/^.*_DUTCH_.*]/DELETE]/')		# Датский	#
    #########################################################################################################################
    #		Файлы обновлений для уменьшения трафика									#
    #			ЗАКОМЕНТИРОВАТЬ если ЗАГРУЖАТЬ									#
    #	    sect=$(echo $sect|sed 's/^CONTINUOUS_.*]/DELETE]/;s/^REVERSE_.*]/DELETE]/;s/^PRELIMINARY_.*]/DELETE]/') 	#
    #########################################################################################################################
    	    sect=$(echo $sect|sed 's/^VER]/DELETE]/;s/^HOSTS]/DELETE]/;s/^Expire]/DELETE]/;s/^SETUP]/DELETE]/;s/^COMPATLIST]/DELETE]/;s/^data0001]/DELETE]/')
    	    if [ -z $(echo $sect|grep '^DELETE]') ]; then
    		eval $(echo $sect|tr -d "\r"|grep 'file='|sed 's/ *=/=/;s/= */=/')
    		cp -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    		cd $WEB_ROOT/$AVBASE_DIR
    		/opt/bin/wget -nv -a log.txt -N --cache=off -t 5 --connect-timeout=20 --http-user=$USER --password=$PASS $UPDSERVERS/$file
    		cd $WEB_ROOT/$AVBASE_DIR/tmp
    		cp -f $WEB_ROOT/$AVBASE_DIR/log.txt $WEB_ROOT/$AVBASE_DIR/tmp/log.txt
    		Auth=`grep 'Authorization failed' log.txt`
    		if [ ${#Auth} != 0 ]; then
    		    echo Неверные ключики
    		    rm -f log.txt
    		    echo Неверные ключики > log.txt
    		    rm -f update.rar
    		    rm -f update.old
    		    rm -f update.ver
    		    mv -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    		    rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    		    rm -f /var/run/$AVBASE_DIR.PID
    		    rm -f $WEB_ROOT/$AVBASE_DIR/update.new
    		    exit
    		fi
    		Saved=`grep '$file.* saved' log.txt`
    		if [ ${#Saved} != 0 ]; then
    		    echo Ошибка загрузки файла
    		    rm -f log.txt
    		    echo Ошибка загрузки файла $file > log.txt
    		    rm -f update.rar
    		    rm -f update.old
    		    rm -f update.ver
    		    mv -f $WEB_ROOT/AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    		    rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    		    rm -f /var/run/$AVBASE_DIR.PID
    		    rm -f $WEB_ROOT/$AVBASE_DIR/update.new
    		    exit
    		fi
    		echo [$(echo $sect|sed 's/file=.*\//file=/') >> $WEB_ROOT/$AVBASE_DIR/update.new
    	    fi
    	done
    	IFS=' '
    	cd $WEB_ROOT/$AVBASE_DIR
    	if [ -f "update.new" ]; then
        	    rm -f update.ver
    	    mv -f update.new update.ver
    	    /opt/bin/touch -am -r $WEB_ROOT/$AVBASE_DIR/tmp/update.rar $WEB_ROOT/$AVBASE_DIR/update.ver
    	fi
        fi
        cd $WEB_ROOT/$AVBASE_DIR/tmp
        rm -f update.rar
        rm -f update.old
        rm -f update.ver
    done
    mv -f $WEB_ROOT/$AVBASE_DIR/tmp/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
    rm -r -f $WEB_ROOT/$AVBASE_DIR/tmp
    rm -f /var/run/$AVBASE_DIR.PID
    Хочу напомнить, что скрипт требует установленных wget и coreutils, если эти пакеты не стоят, то необходимо перед запуском сделать
    Code:
    ipkg update
    ipkg install wget
    ipkg install coreutils
    Last edited by YAG; 10-05-2008 at 00:50.
    Катящиеся камни не обрастают мхом...

Page 6 of 54 FirstFirst ... 4567816 ... LastLast

Similar Threads

  1. [HowTo] Install and configure Oleg's firmware
    By wengi in forum WL-500gP Tutorials
    Replies: 957
    Last Post: 22-02-2013, 22:24
  2. Прошивка Олега на роутере DIR-320
    By sorine in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 4359
    Last Post: 07-08-2011, 22:25
  3. Простая настройка роутера до торрентов
    By gostest in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1402
    Last Post: 21-05-2010, 18:58
  4. HowTo install a lightweight blog server
    By Tamadite in forum WL-500g/WL-500gx Tutorials
    Replies: 0
    Last Post: 03-12-2006, 01:46
  5. Gameserver
    By blingbling in forum WL-500gP Q&A
    Replies: 2
    Last Post: 17-07-2006, 15:37

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •