Jump to content

Recommended Posts

Posted

скрипт для обновления нод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 с

 

 

такую вот ошибку выдает

Posted
Запрос HTTP послан, ожидается ответ... 401 Authorization Required

Сбой авторизации.

Ошибка выкачивания файла em010_32_l0.nup

Обновление антивирусных баз ERROR

Восстанавливаем базу

cp: пропуск каталога `/var/www/apache2/html/nod32/eset_upd'

Время работы сценария 26 с

 

 

такую вот ошибку выдает

Если вы качаете с офф.сайтов - то введите правельные логин/пасс на них, если нет - тогда логин/пасс коментируем и выбираем халявные источник.

Читайте инстал.тхт и коменты.

Posted

у меня есть офиц логин и пароль, который еще действителен, я его 100 раз уже проверил, и 100 раз перепрописал.

Может этот скрип нужно запускать от определенного пользователя ?

Posted

А еще в скрипте этом, там логин и пароль ставить в кавычках или нет ? просто в скрипте был уже забит какой то пароль и логин но без кавычек, я его заменил на свой, а снизу есть строчка закоментированная и в ней написанно пароль и стоят ""

 

Причем какието файлы скачиваются. мне пишет

файла 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

 

 

Posted

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

 

Через виндовую вивер прогу то все нормально работает.

Posted

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

Posted

Долго долбался с разными скриптами, всё время где-то подвох. Оказалось что всё проще, установил версию нода для файл-сервера linux, воткнул лицензионный файл, раскомментил минимально пути в esets.cfg, чтобы сделалось зеркало в /var/www/ Обновляется модулем esets_update Отдаю lighthttpd Вот и вся любовь, правда конечно нод и вся остальная требуха лицензионная

 

Кажется мне что при скачивании там ещё происходит какая-то обработка/перепаковка, правда не разбирался, может только кажется

Posted
Долго долбался с разными скриптами, всё время где-то подвох. Оказалось что всё проще, установил версию нода для файл-сервера linux, воткнул лицензионный файл, раскомментил минимально пути в esets.cfg, чтобы сделалось зеркало в /var/www/ Обновляется модулем esets_update Отдаю lighthttpd Вот и вся любовь, правда конечно нод и вся остальная требуха лицензионная

 

Кажется мне что при скачивании там ещё происходит какая-то обработка/перепаковка, правда не разбирался, может только кажется

А можешь скинуть на мыло файл сервер нодовский ?
Posted

Вот точно рабочий скрипт. Который работает у меня уже три месяца. Для третьего нода

 

#!/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");
}

 

Понятно, что логин пароль нужно указать свои

Posted
А как его можно заузать.

мини инструкци можешь написать ?

А че тут писать то? Засовываешь его в крон на выполнение. Допустим пару-тройку раз в сутки. Прописываешь папку где складываются обновления в конфиге апача. И натравливаешь на этот адрес локальный нод. Можно даже пароли замутить и пользователям в сетке продавать доступ :)
  • 2 weeks later...
Posted (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 by diesels
Posted

# wget

$WGET="/usr/local/bin/wget";

 

установил эту штуку, исправил строчку, на нужну. и вроде пашет. сейчас забью логин и пароль и попробую

  • 1 month later...
Posted

Поставил. Работает.

Запустил скрипт, он отработал. Потом обновил нод с того что накачал скрипт.

Подождал 12 часов, ещё раз запустил скрипт, он скачал 3,2 мб.

Обновил нод с офф сайта, нод скачал от туда всего 20 кб.

 

Скрипт тянет лишнего много :(

Экономии не ощущается.

Posted

#!/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-го нода.

Posted

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.

 

С перлом не дружу, может есть у кого на баше или пхп? )

Posted
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 подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.