Page 2 of 54 FirstFirst 12341252 ... LastLast
Results 16 to 30 of 796

Thread: NOD32 update server

  1. #16
    Quote Originally Posted by YAG View Post
    И что, работает??? Не верю... Седня вот разбираюсь с офф. серверами. Не так там все как в этом скрипте у Вас. Такой скрипт обновит все прекрасно с неофициального зеркальца какого-нить... Но с офф. серверов не получицца ничего у него.
    Он даже не должен а он работает и исключительно с оффиц. серверами!!! Проверить проще всего, а не флудить в топике!

  2. #17
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Quote Originally Posted by oxygen121 View Post
    Он даже не должен а он работает и исключительно с оффиц. серверами!!! Проверить проще всего, а не флудить в топике!
    Значит так. Разумеецца я проверил вначале, он не заработал. И насколько я понимаю.
    1. Файл
    Code:
    http://login:pass@update.eset.com/eset_upd/update.ver
    не закрыт РАРом и для него не нужен логин/пароль.
    2. В файле
    Code:
    http://login:pass@update.eset.com/eset_upd/update.ver
    лежит только список серверов и нет списка файлов обновления.
    3. По адресу
    Code:
    http://login:pass@update.eset.com
    вообще нет файлов обновлений и взять их поэтому там неоткуда.

    А теперь как надо делать, насколько я понимаю.
    1. Читаем из http://update.eset.com/eset_upd/update.ver список текущих серверов обновлений.
    2. Последовательно перебираем полученный список на предмет появления нового файла update.ver.
    3. Если таковой найден, то загружаем (только здесь при загрузке нужен заветный логин и пароль) с этого сервера файлы по списку из update.ver (вот тут уже не забыть его разРАРить) новее чем у нас есть. (Например если update.ver получен с сервера http://u21.eset.com/eset_upd/, то файлики по списку будут по адресу http://u21.eset.com/ а дальше структура берется из поля file=)
    Если ошибаюсь, можете меня поправить. Отправить куда подальше проще простого.

  3. #18
    Quote Originally Posted by YAG View Post
    Значит так. Разумеецца я проверил вначале, он не заработал. И насколько я понимаю.
    1. Файл
    Code:
    http://login:pass@update.eset.com/eset_upd/update.ver
    не закрыт РАРом и для него не нужен логин/пароль.
    2. В файле
    Code:
    http://login:pass@update.eset.com/eset_upd/update.ver
    лежит только список серверов и нет списка файлов обновления.
    3. По адресу
    Code:
    http://login:pass@update.eset.com
    вообще нет файлов обновлений и взять их поэтому там неоткуда.

    А теперь как надо делать, насколько я понимаю.
    1. Читаем из http://update.eset.com/eset_upd/update.ver список текущих серверов обновлений.
    2. Последовательно перебираем полученный список на предмет появления нового файла update.ver.
    3. Если таковой найден, то загружаем (только здесь при загрузке нужен заветный логин и пароль) с этого сервера файлы по списку из update.ver (вот тут уже не забыть его разРАРить) новее чем у нас есть. (Например если update.ver получен с сервера http://u21.eset.com/eset_upd/, то файлики по списку будут по адресу http://u21.eset.com/ а дальше структура берется из поля file=)
    Если ошибаюсь, можете меня поправить. Отправить куда подальше проще простого.
    Хм. Да извиняюсь на серверах есета произошли именения (неделю назад работало) , если в скрипте поменять вместо update.eset.com
    например на u21.eset.com то апдейты пойдут.

  4. #19
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Седня ночька свободная есть... Я добью скриптик до ума... Перебор серверов сделаю... Но меня вот что волнует. Возможен такой момент, когда update.ver обновился, а файлик обновления новый не смог... Ну проблемы у провайдера, к примеру. Или когда кто-то обновляется с локальной машины в тот момент когда зеркало обновляется с сервера... В общем ничего хорошего это не сулит. Вопрос как изящнее эту проблему порешать. Что-то именно изящного решения не приходит в голову, а выеживацца сильно не хочецца.

  5. #20
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Может как-нить придумать скачивание файла по таймауту?

    (что бы на off серваках работало )
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  6. #21
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    YAG Приятно видеть что и тут про мое зеркало и сайт знают
    Но это так...
    Может тебе поможет вот это

    update.php:
    PHP Code:
    #!/usr/local/bin/php
    <?php

    define
    ("DEFAULT_SAVE_PATH","/home/www/nod32upd/public_html/");

    $servers = array(
    array(
    'host'=>'http://nod.madbadjack.com/','savepath'=>DEFAULT_SAVE_PATH."/nod_upd/"),
    array(
    'host'=>'http://nod3.madbadjack.com/')
    //,array('host'=>'http://nod3.madbadjack.com/','user'=>'admin','password'=>'11111')
    );

    /**
     * Quick & Dirty Script to manage NOD 32 Updates 
     * 
     * @author Kode 
     * @email kode@airnet.ru
     * @version 1.1
     * 
     */

    ini_set("display_errors",0);
    ini_set("user_agent","WGET");

    include(
    "functions.php");

    $start microtime(true);

    foreach (
    $servers as $server){    
        if(!isset(
    $server['savepath'])){
            
    $server['savepath'] = DEFAULT_SAVE_PATH;
        }
        
        if(
    file_exists($server['savepath']."update.ver"))
            
    $current_db parseDB(file_get_contents($server['savepath']."update.ver"));

        
        
        echo 
    "Checking {$server['host']}\n";
        
    $updatedb parseDB(getHTTPFile($server['host'],"update.ver","",@$server['user'],@$server['password']));

        if(!
    $updatedb){
            echo 
    "Invalid server!\n";
            continue;
        }

        foreach (
    $updatedb as $section=>$vars){
            echo 
    "Checking {$section} ({$vars['file']},".@$vars['date'].")\n";

            if(!isset(
    $current_db) or ((@$current_db[$section]['versionid'] < @$vars['versionid'] ) or (@$current_db[$section]['build'] < @$vars['build']))){
                echo 
    "Obtaining {$vars['file']} (size: {$vars['size']}, verison: {$vars['date']})\n";
                
    getHTTPFile($server['host'],$vars['file'],$server['savepath'].$vars['file'],@$server['user'],@$server['password']);
                
    $current_db[$section] = $vars;
            }else{
                echo 
    "Also have rather version\n";
            }

        }

        echo 
    "Generation new update.ver\n";
        
    $new_db createDB($current_db);
        echo 
    "Saving new update.ver\n";
        
    file_put_contents($server['savepath']."update.ver",$new_db);
    }

    echo 
    "Execution time ",round(microtime(true)-$start,4)," sec.";
    ?>

    functions.php
    PHP Code:
    <?php 

    if(!function_exists("file_put_contents")){
        
    /**
         * file_put_contents PHP4 replace
         *
         * @param string $file
         * @param string $data
         * @return boolean
         */
        
    function file_put_contents($file,$data){
            
    $fp fopen($file,"w");
            if(!
    $fp){
                return 
    false;
            }
            
    fwrite($fp,$data);
            
    fclose($fp);
            return 
    true;
        }
    }


    if(!
    function_exists("file_get_contents")){
        
    /**
         * file_put_contents PHP4 replace
         *
         * @param string $file
         * @return mixed
         */
        
    function file_get_contents($file){
            
    $fp fopen($file,"r");
            if(!
    $fp){
                return 
    false;
            }
            
    $result "";
            while (!
    feof($fp)) {
                
    $result .= fread($fp,1024);    
            }
            
    fclose($fp);
            return 
    $result;
        }
    }

    /**
     * parses update.ver 
     * 
     * @param string $db 
     * @return array 
     */ 
    function parseDB($db){
        
    $result = array();
        
    $last_section "";
        
    $lines explode("\n",$db);

        foreach (
    $lines as $line){
            
    $line trim($line);
            if(!empty(
    $line)){
                if(@
    $line[0] == "[" and $line[strlen($line)-1]=="]"){
                    
    $last_section trim($line,"[]");
                    
    $result[$last_section] = array();
                }else{
                    @list(
    $var,$val) = explode("=",$line);
                    
    $result[$last_section][$var] = $val;
                }
            }
        }

        return 
    $result;
    }

    /**
     * Creates update.ver from array 
     * 
     * @param unknown_type $arr 
     * @return unknown 
     */ 
    function createDB($arr){
        
    $return "";
        foreach (
    $arr as $section=>$params){
            
    $return .= "[{$section}]\n";
            foreach (
    $params as $key=>$value){
                
    $return .= "{$key}={$value}\n";
            }
        }
        return 
    $return;
    }

    /**
     * Small function to help parse HTTP Headers 
     * 
     * @param unknown_type $array 
     * @return unknown 
     */ 
    function parseHeader($array){
        
    $result = array();
        foreach (
    $array as $value){
            if(
    substr_count($value,":")){
                
    $data explode(":",$value);
                
    $result[trim($data[0])] = trim($data[1]);
            }
        }
        return 
    $result;
    }

    /**
     * Downloads file from given host 
     * 
     * @param string $host HTTP Host 
     * @param string $file File on host to download 
     * @param string $save If not empty - save to file 
     * @param string $user HTTP Auth User 
     * @param string $password HTTP Auth Password 
     * @return mixed 
     */ 
    function getHTTPFile($host,$file,$save="",$user="",$password=""){
        
    $host trim(str_replace("http://","",$host),"/");

        
    $data "";
        
    $last_percent 0;
        
    $user_password = ($user)?"$user".(($password)?":{$password}":"")."@":"";

        
    $open_url "http://{$user_password}{$host}/{$file}";

        
    $fp fopen($open_url,"r",false,stream_context_create(array('http'=>array('user_agent'=>'WGET'))));


        if(
    $fp){

            if(
    $save){
                echo 
    "Creating file {$save}\n";
                
    $sp fopen($save,"w+",false,stream_context_create(array('ftp' => array('overwrite' => true))));

                if(!
    $sp){
                    echo 
    "Error: Failed to create file!!!\n"; return false;
                }
            }

            echo 
    "Downloading {$open_url}: ";
            
    $params stream_get_meta_data($fp);
            
    $params parseHeader($params['wrapper_data']);
            
    $length $params['Content-Length'];

            while (!
    feof($fp)) {
                
    $percent round(ftell($fp)/$length*100);
                if(
    $last_percent $percent and $percent%10==0){
                    
    $last_percent $percent;
                    echo 
    "...{$percent}%";
                }
                if(!isset(
    $sp)){
                    
    $data .= fread($fp,128);
                }else{
                    
    fwrite($sp,fread($fp,128));
                }
            }
            echo 
    "...OK \n";
        }else{
            echo 
    "Failed to download {$open_url}!!!\n";
        }
        
    fclose($fp);
        if(!
    $save){
            return 
    $data;
        }
        
    fclose($sp);
    }
    ?>
    Впринципе может работать и из браузера, только необходимо убрать
    #!/usr/local/bin/php в начале update.php

    Для использования из консоли не забудьте сделать chmod a+x update.php и поставить верный путь до php (можно узнать через whereis php)

    Обязательно исправьте DEFAULT_SAVE_PATH - поставьте директорию куда будут качатся обновления

    Плюсы:
    + Поддерживает несколько серверов
    + Скачивает только более новые файлы
    + Можно обновлять как из браузера так и через консоль/cron
    + Работает как под *nix так и под Windows, нужен только php
    + Можно сразу заливать на FTP, надо лишь указать DEFAULT_SAVE_PATH_DIR например так ftp://admin:12345@myserver.ru/nod32upd/ (не тестировалось)
    + Гибкая настройка что куда сохранять, те для различных серверов можно указать различные папки
    + Теоретически работает на >= PHP 4.3.0

    Минусы
    - Нужен PHP c allow_url_fopen = On
    Взято как не трудно догадаться тут автор Kode
    Last edited by DarkTwin; 29-04-2008 at 21:52.

  7. #22
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    DarkTwin, у куда писать логин/пасс от офф серваков?
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  8. #23
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    Quote Originally Posted by Antosha View Post
    DarkTwin, у куда писать логин/пасс от офф серваков?
    //,array('host'=>'http://nod3.madbadjack.com/','user'=>'admin','password'=>'11111')
    раскоментировать и поставить то что нужно
    это в update.php
    Last edited by DarkTwin; 29-04-2008 at 22:11.

  9. #24
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Quote Originally Posted by DarkTwin View Post
    это в update.php
    Спасибо, просто беглым взглядом пропустил верхушку

    Меня вот пугают ошибки:

    Code:
    Checking http://nod.madbadjack.com/ Downloading http://nod.madbadjack.com/update.ver: ...10%...40%...50%...60%...70%...OK Checking ENGINE0 (engine0.nup,02.01.2008) Obtaining engine0.nup (size: 8198935, verison: 02.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine0.nup Error: Failed to create file!!! Checking ENGINE1 (engine1.nup,18.04.2008) Obtaining engine1.nup (size: 1387731, verison: 18.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine1.nup Error: Failed to create file!!! Checking ENGINE2 (engine2.nup,29.04.2008) Obtaining engine2.nup (size: 61130, verison: 29.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine2.nup Error: Failed to create file!!! Checking ARCHS0 (archs0.nup,29.02.2008) Obtaining archs0.nup (size: 214149, verison: 29.02.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs0.nup Error: Failed to create file!!! Checking ARCHS1 (archs1.nup,07.03.2008) Obtaining archs1.nup (size: 7763, verison: 07.03.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs1.nup Error: Failed to create file!!! Checking ARCHS2 (archs2.nup,22.04.2008) Obtaining archs2.nup (size: 39951, verison: 22.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs2.nup Error: Failed to create file!!! Checking ADVHEUR0 (advheur0.nup,16.01.2008) Obtaining advheur0.nup (size: 429384, verison: 16.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/advheur0.nup Error: Failed to create file!!! Checking ADVHEUR1 (advheur1.nup,12.02.2008) Obtaining advheur1.nup (size: 28945, verison: 12.02.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/advheur1.nup Error: Failed to create file!!! Checking PWSCAN0 (pwscan0.nup,21.10.2003) Obtaining pwscan0.nup (size: 4140, verison: 21.10.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan0.nup Error: Failed to create file!!! Checking PWSCAN1 (pwscan1.nup,21.10.2003) Obtaining pwscan1.nup (size: 864, verison: 21.10.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan1.nup Error: Failed to create file!!! Checking PWSCAN2 (pwscan2.nup,04.11.2003) Obtaining pwscan2.nup (size: 1347, verison: 04.11.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan2.nup Error: Failed to create file!!! Checking UTILMOD0 (utilmod0.nup,12.07.2006) Obtaining utilmod0.nup (size: 23017, verison: 12.07.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod0.nup Error: Failed to create file!!! Checking UTILMOD1 (utilmod1.nup,29.01.2008) Obtaining utilmod1.nup (size: 9472, verison: 29.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod1.nup Error: Failed to create file!!! Checking UTILMOD2 (utilmod2.nup,15.04.2008) Obtaining utilmod2.nup (size: 4459, verison: 15.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod2.nup Error: Failed to create file!!! Checking CHARON0 (charon0.nup,20.07.2006) Obtaining charon0.nup (size: 6090, verison: 20.07.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon0.nup Error: Failed to create file!!! Checking CHARON1 (charon1.nup,08.09.2006) Obtaining charon1.nup (size: 874, verison: 08.09.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon1.nup Error: Failed to create file!!! Checking CHARON2 (charon2.nup,10.09.2007) Obtaining charon2.nup (size: 944, verison: 10.09.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon2.nup Error: Failed to create file!!! Checking NOD32MOD_WINNT_ENGLISH_BASE (ntbaseen.nup,11.05.2007) Obtaining ntbaseen.nup (size: 2161903, verison: 11.05.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/ntbaseen.nup Error: Failed to create file!!! Checking NOD32MOD_WIN98_ENGLISH_BASE (98baseen.nup,11.05.2007) Obtaining 98baseen.nup (size: 2115516, verison: 11.05.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/98baseen.nup Error: Failed to create file!!! Checking NOD32MOD_WINNT_RUSSIAN_BASE (ntbaseru.nup,11.05.2007) Obtaining ntbaseru.nup (size: 2279586, verison: 11.05.2007)
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  10. #25
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    Quote Originally Posted by Antosha View Post
    Спасибо, просто беглым взглядом пропустил верхушку

    Меня вот пугают ошибки:

    Code:
    Checking http://nod.madbadjack.com/ Downloading http://nod.madbadjack.com/update.ver: ...10%...40%...50%...60%...70%...OK Checking ENGINE0 (engine0.nup,02.01.2008) Obtaining engine0.nup (size: 8198935, verison: 02.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine0.nup Error: Failed to create file!!! Checking ENGINE1 (engine1.nup,18.04.2008) Obtaining engine1.nup (size: 1387731, verison: 18.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine1.nup Error: Failed to create file!!! Checking ENGINE2 (engine2.nup,29.04.2008) Obtaining engine2.nup (size: 61130, verison: 29.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/engine2.nup Error: Failed to create file!!! Checking ARCHS0 (archs0.nup,29.02.2008) Obtaining archs0.nup (size: 214149, verison: 29.02.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs0.nup Error: Failed to create file!!! Checking ARCHS1 (archs1.nup,07.03.2008) Obtaining archs1.nup (size: 7763, verison: 07.03.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs1.nup Error: Failed to create file!!! Checking ARCHS2 (archs2.nup,22.04.2008) Obtaining archs2.nup (size: 39951, verison: 22.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/archs2.nup Error: Failed to create file!!! Checking ADVHEUR0 (advheur0.nup,16.01.2008) Obtaining advheur0.nup (size: 429384, verison: 16.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/advheur0.nup Error: Failed to create file!!! Checking ADVHEUR1 (advheur1.nup,12.02.2008) Obtaining advheur1.nup (size: 28945, verison: 12.02.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/advheur1.nup Error: Failed to create file!!! Checking PWSCAN0 (pwscan0.nup,21.10.2003) Obtaining pwscan0.nup (size: 4140, verison: 21.10.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan0.nup Error: Failed to create file!!! Checking PWSCAN1 (pwscan1.nup,21.10.2003) Obtaining pwscan1.nup (size: 864, verison: 21.10.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan1.nup Error: Failed to create file!!! Checking PWSCAN2 (pwscan2.nup,04.11.2003) Obtaining pwscan2.nup (size: 1347, verison: 04.11.2003) Creating file /tmp/harddisk/www/nod32upd//nod_upd/pwscan2.nup Error: Failed to create file!!! Checking UTILMOD0 (utilmod0.nup,12.07.2006) Obtaining utilmod0.nup (size: 23017, verison: 12.07.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod0.nup Error: Failed to create file!!! Checking UTILMOD1 (utilmod1.nup,29.01.2008) Obtaining utilmod1.nup (size: 9472, verison: 29.01.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod1.nup Error: Failed to create file!!! Checking UTILMOD2 (utilmod2.nup,15.04.2008) Obtaining utilmod2.nup (size: 4459, verison: 15.04.2008) Creating file /tmp/harddisk/www/nod32upd//nod_upd/utilmod2.nup Error: Failed to create file!!! Checking CHARON0 (charon0.nup,20.07.2006) Obtaining charon0.nup (size: 6090, verison: 20.07.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon0.nup Error: Failed to create file!!! Checking CHARON1 (charon1.nup,08.09.2006) Obtaining charon1.nup (size: 874, verison: 08.09.2006) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon1.nup Error: Failed to create file!!! Checking CHARON2 (charon2.nup,10.09.2007) Obtaining charon2.nup (size: 944, verison: 10.09.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/charon2.nup Error: Failed to create file!!! Checking NOD32MOD_WINNT_ENGLISH_BASE (ntbaseen.nup,11.05.2007) Obtaining ntbaseen.nup (size: 2161903, verison: 11.05.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/ntbaseen.nup Error: Failed to create file!!! Checking NOD32MOD_WIN98_ENGLISH_BASE (98baseen.nup,11.05.2007) Obtaining 98baseen.nup (size: 2115516, verison: 11.05.2007) Creating file /tmp/harddisk/www/nod32upd//nod_upd/98baseen.nup Error: Failed to create file!!! Checking NOD32MOD_WINNT_RUSSIAN_BASE (ntbaseru.nup,11.05.2007) Obtaining ntbaseru.nup (size: 2279586, verison: 11.05.2007)
    А точно есть разрешение на запись то ?

  11. #26
    Join Date
    Nov 2007
    Location
    Novosibirsk
    Posts
    194
    Quote Originally Posted by DarkTwin View Post
    А точно есть разрешение на запись то ?
    да, 15,5 метров скачано
    WL-500gP (JAN.2008) Version: 1.9.2.7-10 + MikroTik 450G v5.12

  12. #27
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    Quote Originally Posted by Antosha View Post
    да, 15,5 метров скачано
    а должно быть почти 32 метра. какие файлы скачались ?
    Затрудняюсь прямо сейчас ответить.
    Я подумаю, а сейчас спать пора завтра (сегодня уже) на работу
    Last edited by DarkTwin; 29-04-2008 at 22:42.

  13. #28
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    DarkTwin, конечно знаю я про зеркало Ваше и про сайт и про форум. Ну и конечно же про тот скрипт тоже знаю. Давно причем. Форум полезный, зеркала тоже, жаль забанили их пару недель назад... Собственно поэтому и начал делать свое зеркало на роутере, потому что хорошие зеркала либо банят, либо умирают они быстро. Решения проблем с баном конечно тоже знаю. Не устраивают меня они. Решил написать скриптик для зеркала под понятно какую железку. Понятно что такое зеркальце не забанят ввиду того, что знать про него будут не многие. Тот скрипт, что у Вас не устраивает по ряду причин. Как показала практика требует доведения в каждом конкретном случае, да и др. минусы имеет. Хотя написан грамотно, тут не поспоришь. Выкладываю то что сваял для обновления с официального сервера. Кое что кривовато пока, но в целом работоспособно. В общем-то дорабатывать дальше можно только преобразование файла update.ver, поскольку я раскладываю файлы по папкам так как они лежат на оф. серверах, а update.ver оставляю как есть. Ну и дорабатывать по хорошему нужно контроль за ошибками во время скачивания.
    Code:
    #!/bin/sh
    
    WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало
    AVBASE_DIR=nod_off #имя папки, куда будут валиться базы
    SERVER=http://update.eset.com #сервер, откуда обновляемся
    USER=EAV-********
    PASS=**********
    
    cd $WEB_ROOT
    mkdir -p $WEB_ROOT/$AVBASE_DIR
    /opt/bin/wget -N --cache=off  $SERVER/eset_upd/update.ver
    SERVERS=`grep Other= $WEB_ROOT/update.ver|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/eset_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/eset_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

  14. #29
    Join Date
    Apr 2008
    Location
    Санкт-Петербург, Пушкин
    Posts
    32
    Я не особо вчитывался но это разве не просто копирование с зеркала в локальную папку ?

  15. #30
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Простите, а что еще по большому счету надо от процесса создания зеркала? Просто нужно знать что куда и как копировать, а точнее не знать, а смотреть в соответствующих местах...

Page 2 of 54 FirstFirst 12341252 ... 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, 23:24
  2. Прошивка Олега на роутере DIR-320
    By sorine in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 4359
    Last Post: 07-08-2011, 23:25
  3. Простая настройка роутера до торрентов
    By gostest in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1402
    Last Post: 21-05-2010, 19:58
  4. HowTo install a lightweight blog server
    By Tamadite in forum WL-500g/WL-500gx Tutorials
    Replies: 0
    Last Post: 03-12-2006, 02:46
  5. Gameserver
    By blingbling in forum WL-500gP Q&A
    Replies: 2
    Last Post: 17-07-2006, 16: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
  •