diesels Posted October 28, 2008 Posted October 28, 2008 скрипт для обновления нод32. собственно я нашел такой скрипт, ну что то он не пашет. с оф сайта качает файло и на файле запариваеться em010-32-10.nub причем какой бы я не выбрал сервер. может у кого есть свой скрипт сам скрипт взял вот от сюдаurl=http://www.volmed.org.ru/wiki/index.php/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%BF%D0%BE_%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E_%D0%B0%D0%BD%D1%82%D0%B8%D0%B2%D0%B8%D1%80%D1%83%D1%81%D0%BD%D1%8B%D1%85_%D0%B1%D0%B0%D0%B7_NOD32_%D0%BF%D0%BE%D0%B4_Linux#NOD32_V3.2A] Click here! [/url] файла em010_32_l0.nup нет - выкачать --14:32:20-- http://update.eset.com//download/engine3ess/em010_32_l0.nup => `em010_32_l0.nup' Распознаётся update.eset.com... 90.183.101.15, 90.183.101.17, 90.183.101.12, ... Устанавливается соединение с update.eset.com|90.183.101.15|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 401 Authorization Required Сбой авторизации. Ошибка выкачивания файла em010_32_l0.nup Обновление антивирусных баз ERROR Восстанавливаем базу cp: пропуск каталога `/var/www/apache2/html/nod32/eset_upd' Время работы сценария 26 с такую вот ошибку выдает Вставить ник Quote
Kostyan Posted October 28, 2008 Posted October 28, 2008 Запрос HTTP послан, ожидается ответ... 401 Authorization RequiredСбой авторизации. Ошибка выкачивания файла em010_32_l0.nup Обновление антивирусных баз ERROR Восстанавливаем базу cp: пропуск каталога `/var/www/apache2/html/nod32/eset_upd' Время работы сценария 26 с такую вот ошибку выдает Если вы качаете с офф.сайтов - то введите правельные логин/пасс на них, если нет - тогда логин/пасс коментируем и выбираем халявные источник.Читайте инстал.тхт и коменты. Вставить ник Quote
diesels Posted October 28, 2008 Author Posted October 28, 2008 у меня есть офиц логин и пароль, который еще действителен, я его 100 раз уже проверил, и 100 раз перепрописал. Может этот скрип нужно запускать от определенного пользователя ? Вставить ник Quote
diesels Posted October 28, 2008 Author Posted October 28, 2008 А еще в скрипте этом, там логин и пароль ставить в кавычках или нет ? просто в скрипте был уже забит какой то пароль и логин но без кавычек, я его заменил на свой, а снизу есть строчка закоментированная и в ней написанно пароль и стоят "" Причем какието файлы скачиваются. мне пишет файла em008_32_l0.nup нет - выкачать --17:30:43-- http://update.eset.com//download/engine3/em008_32_l0.nup => `em008_32_l0.nup' Распознаётся update.eset.com... 90.183.101.11, 90.183.101.13, 90.183.101.14, ... Устанавливается соединение с update.eset.com|90.183.101.11|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: 158 420 (155K) [application/octet-stream] 100%[=============================================================================== =================================>] 158 420 77.21K/s Вставить ник Quote
diesels Posted October 28, 2008 Author Posted October 28, 2008 попробывал вручную скачать этот файл, тоже не катит авторизация, может это из-за того что пароль у меня для стандартной версии, а качает он файло может для бизнес или еще чего то. Через виндовую вивер прогу то все нормально работает. Вставить ник Quote
Magnum72 Posted October 29, 2008 Posted October 29, 2008 недавно та же фигня началась, с виндового пароль канает, а из скрипта самописного нет, такое чувство что мой сервак по ипу забанили, или проверку ввели на агента Вставить ник Quote
Kostig Posted October 31, 2008 Posted October 31, 2008 Долго долбался с разными скриптами, всё время где-то подвох. Оказалось что всё проще, установил версию нода для файл-сервера linux, воткнул лицензионный файл, раскомментил минимально пути в esets.cfg, чтобы сделалось зеркало в /var/www/ Обновляется модулем esets_update Отдаю lighthttpd Вот и вся любовь, правда конечно нод и вся остальная требуха лицензионная Кажется мне что при скачивании там ещё происходит какая-то обработка/перепаковка, правда не разбирался, может только кажется Вставить ник Quote
diesels Posted October 31, 2008 Author Posted October 31, 2008 Долго долбался с разными скриптами, всё время где-то подвох. Оказалось что всё проще, установил версию нода для файл-сервера linux, воткнул лицензионный файл, раскомментил минимально пути в esets.cfg, чтобы сделалось зеркало в /var/www/ Обновляется модулем esets_update Отдаю lighthttpd Вот и вся любовь, правда конечно нод и вся остальная требуха лицензионная Кажется мне что при скачивании там ещё происходит какая-то обработка/перепаковка, правда не разбирался, может только кажется А можешь скинуть на мыло файл сервер нодовский ? Вставить ник Quote
Kostig Posted October 31, 2008 Posted October 31, 2008 Бери, http://slil.ru/26290007 Юзаю дебиан/убунту так что скачал только под него дистр Вставить ник Quote
diesels Posted October 31, 2008 Author Posted October 31, 2008 спасибо но дебиановский не кактит для меня Вставить ник Quote
Kostig Posted October 31, 2008 Posted October 31, 2008 дык скажи какой надо, помогу, чегож не помочь Вставить ник Quote
Magnum72 Posted November 1, 2008 Posted November 1, 2008 и че делать теперь Я типа разобрался :) У меня лицензия кончилась... Быстро однако год пролетел :) Вставить ник Quote
diesels Posted November 1, 2008 Author Posted November 1, 2008 А ты можешь дать свой скрипт для обновления ? Вставить ник Quote
BAV_Lug Posted November 5, 2008 Posted November 5, 2008 Вот точно рабочий скрипт. Который работает у меня уже три месяца. Для третьего нода #!/usr/bin/perl # path to store updates $PATH="/usr/local/www/nod3"; # wget $WGET="/usr/local/bin/wget"; # username/password for updates registered users $LOGIN=''; $PASS=''; # URL for updates $URL_UPD='http://u37.eset.com/'; $URL_UPD =~ s/\/$//; $URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/; $site = "$1$2"; if ($site =~ m//) { print "Enter correct URL\n"; return; } unlink("$PATH/update.ver","$PATH/update.tmp"); download($PATH,"$URL_UPD/eset_upd/update.ver",$LOGIN,$PASS); system("/usr/local/bin/unrar e -y $PATH/update.ver $PATH"); rename("$PATH/update.ver","$PATH/update.tmp"); $ver = "$PATH/update.tmp"; $vers = "$PATH/update.ver"; open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n"; open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n"; %files = (); %urls = (); $end = 0; while (defined($line = <VER>) ) { chomp $line; if ($line =~ /COMPATLIST/) { $end = 1; } if ($end == 0) { ($par,$val)=split /=/, $line; $val = substr($val, 0, -1); if ($par =~ /file/ ) { $name = '/'.$val; $name =~s/\/.*\///; $furl="$URL_UPD$val"; $line="file=$name"; } if ($par =~/size/ ) { $size = $val; $files{$name} = $size; $urls{$name} = "$furl"; } } print VERS "$line\r\n"; } print "\n"; close(VER); close(VERS); foreach $f (keys %files) { if ((-s "$PATH/$f") != $files{$f}){ $size = (-s "$PATH/$f"); print "Not present --> $PATH/$f\t$f\t$files{$f} ---> $size\n"; unlink("$PATH/$f"); download($PATH,$urls{$f},$LOGIN,$PASS); } else { #print " Present --> $PATH/$f\t$f\t$files{$f}\n"; } } chmod(0644,"$PATH/*"); sub download() { my ($path, $url, $login, $pass) = @_; system("$WGET -P $path --http-user=$login --http-password=$pass $url"); } Понятно, что логин пароль нужно указать свои Вставить ник Quote
diesels Posted November 5, 2008 Author Posted November 5, 2008 А как его можно заузать. мини инструкци можешь написать ? Вставить ник Quote
BAV_Lug Posted November 5, 2008 Posted November 5, 2008 А как его можно заузать. мини инструкци можешь написать ? А че тут писать то? Засовываешь его в крон на выполнение. Допустим пару-тройку раз в сутки. Прописываешь папку где складываются обновления в конфиге апача. И натравливаешь на этот адрес локальный нод. Можно даже пароли замутить и пользователям в сетке продавать доступ :) Вставить ник Quote
diesels Posted November 15, 2008 Author Posted November 15, 2008 (edited) # wget $WGET="/usr/local/bin/wget"; А что это за строчка, такой папки у меня нет ? [root@intel_serv upd_prog]# ./nod32.cfg UNRAR 3.80 freeware Copyright © 1993-2008 Alexander Roshal Cannot open /var/www/apache2/html/nod32/update.ver No such file or directory No files to extract Couldn't open /var/www/apache2/html/nod32/update.tmp for reading: No such file or directory Вот этот путь верен /var/www/apache2/html/nod32/ а вот файла там нету этого. чтоб он появился, надо же скачать сначала базу. update.tmp этого файла у меня тоже нет. Edited November 15, 2008 by diesels Вставить ник Quote
diesels Posted November 15, 2008 Author Posted November 15, 2008 # wget $WGET="/usr/local/bin/wget"; установил эту штуку, исправил строчку, на нужну. и вроде пашет. сейчас забью логин и пароль и попробую Вставить ник Quote
diesels Posted November 15, 2008 Author Posted November 15, 2008 спасибо. работает вроде. Вставить ник Quote
Ivan_83 Posted December 18, 2008 Posted December 18, 2008 Поставил. Работает. Запустил скрипт, он отработал. Потом обновил нод с того что накачал скрипт. Подождал 12 часов, ещё раз запустил скрипт, он скачал 3,2 мб. Обновил нод с офф сайта, нод скачал от туда всего 20 кб. Скрипт тянет лишнего много :( Экономии не ощущается. Вставить ник Quote
zulu_radist Posted December 21, 2008 Posted December 21, 2008 Для второго нода рабочих скриптов ни у кого случаем нет? Вставить ник Quote
azazello Posted December 22, 2008 Posted December 22, 2008 #!/usr/bin/perl use LWP; # path to store updates $PATH="/var/www/nod"; # username/password for updates registered users $LOGIN=""; $PASS=""; # URL for updates $URL_UPD="http://u2.eset.com/nod_eval"; $URL_UPD =~ s/\/$//; $URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/; $site = "$1$2"; if ($site =~ m//) { print "Enter correct URL\n"; return; } unlink("$PATH/update.ver","$PATH/update.tmp"); download($PATH,"$URL_UPD/update.ver",$LOGIN,$PASS); `/usr/local/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`; rename("$PATH/update.ver","$PATH/update.tmp"); $ver = "$PATH/update.tmp"; $vers = "$PATH/update.ver"; } print "\n"; close(VER); close(VERS); foreach $f (keys %files) { if ( (-s ("$PATH/$f")) != $files{$f}){ download($PATH,$urls{$f},$LOGIN,$PASS); } } chmod(0644,"$PATH/*"); sub download() { my ($path, $url, $login, $pass) = @_; # use external downloader system("/usr/bin/lftp -c \"get -cO $path $url\""); return; # PERL downloader $url =~ m/(.*:\/\/)(.*)\/(.*)/; my $filename = $3; my $ua=LWP::UserAgent->new(); $ua->agent("PerlUA/0.1"); my $ua=LWP::UserAgent->new(); $ua->agent("PerlUA/0.1"); my $req = HTTP::Request->new(HEAD => "$url"); $req->authorization_basic($login, $pass); my $document=$ua->request($req); if($document->is_success) { if (!($document->content_length== -s("$path/$filename"))) { my $req = HTTP::Request->new(GET => "$url"); $req->authorization_basic('login', 'password'); my $document=$ua->request($req); if($document->is_success) { open(OUT, "> $path/$filename"); print OUT $document->content; close(OUT); print "Downloading $url "; print "- ok\n"; } else { print "$url ",$document->status_line,"\n"; } } else { # print "$filename - exist\n"; } } else { print "$url ",$document->status_line,"\n"; } } open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n"; open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n"; %files = (); %urls = (); while (defined($line = <VER>) ) { chomp $line; $line =~ s/^\s+//; $line =~ s/\s+$//; ($par,$val)=split /=/, $line; if ($par =~ /file/ ) { $name = $val; $name =~ s/\/.*\///; if ($name=~m/$val/) {$furl="$URL_UPD/$val";} else {$furl="$site$val";} $line="file=$name"; } if ($par =~ /size/ ) { $size = $val; $files{$name} = $size; $urls{$name} = "$furl"; } print VERS "$line\r\n"; Для 2-го нода. Вставить ник Quote
zulu_radist Posted December 28, 2008 Posted December 28, 2008 Can't locate LWP.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at ./nod32_upd line 3. BEGIN failed--compilation aborted at ./nod32_upd line 3. С перлом не дружу, может есть у кого на баше или пхп? ) Вставить ник Quote
Nafanya Posted December 28, 2008 Posted December 28, 2008 Can't locate LWP.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at ./nod32_upd line 3. BEGIN failed--compilation aborted at ./nod32_upd line 3. С перлом не дружу, может есть у кого на баше или пхп? ) нехватает модуля для Perl так и называется LWP подробнее Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.