LINUX.ORG.RU
ФорумAdmin

обновление drweb для windows клиентов.


0

0

Как на сервере Linux организовать скачку обновления баз вирусов drweb? Что бы потом можно было эту папку расшарить самбой. А от туда бы уже все пользователи локальной сети дергали обновления для себя.

★★★

по-моему, на opennet в ключах про drweb было

fagot ★★★★★
()

mkdir drweb

cd drweb

wget -c ftp://ftp.drweb.ru/pub/bases/*

смотри ключи wget

можно в крон и в самбу в конф папку в шару

anonymous
()

Я сделал так: имеется apache + cкрипт, выполняемый по кронду

Пример моего файла (коммерческое обновление) #! /usr/bin/perl $user=".........."; $pass=".........."; $folder="/var/www/antivir"; $file_lst="drweb32.lst"; $url="http://www.dials.ru/drweb/update/";; `wget -q -N --http-user=$user --http-passwd=$pass -P$folder $url$file_lst`; `wget -q -R html,htm -N --http-user=$user --http-passwd=$pass -P$folder -r -l1 -np -nd $url`; `cp /var/www/antivir/drweb32.zip /var/www/antivir/zip/drweb32.zip`; open(FBLOGRET,">/var/www/antivir/index.html"); @files=`cd /var/www/antivir; find -type f`; print FBLOGRET "<html><head></head><body>"; foreach $file (@files) { # chomp($file); print FBLOGRET "<a href=$file>$file</a><br>"; } print FBLOGRET "</body></html>"; close(FBLOGRET);

Клиенты dr.web настраиваешь обновляться с локального сервера

А вообще у них есть drweb-enrerprise, с его помощью можно нарулить по взрослому.

anonymous
()
Ответ на: комментарий от anonymous

Проблема в том что я могу скачать все эти файлы... но для виндузовского клиента нужен еще файл drweb32.lst
Впринципе я могу его создать скриптом! Я разобрался с его форматом.

Но вот такой вот попутный вопросик! Есть ли у кого скрипт, который скачивает не все файлы что лежат на ftp://ftp.drweb.ru/pub/bases/ , а только новые, которых еще нет? А то на данной ФТП лежит около 700кб инфы, каждый день тянуть ее - это 21мб в месяц ;-)

Если есть у кого такой скрипт, кинте плиз! Не хотелось бы вилосипед изобретать!

Mrak ★★★
() автор топика
Ответ на: комментарий от Mrak

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

afunix
()
Ответ на: комментарий от afunix

>у wget есть ключик -c

Спасибо действительно не прикрутил /dev/head

Mrak ★★★
() автор топика
Ответ на: комментарий от Mrak

Скрипт который я выложил вытягивает drweb32.lst и закачивает новые файлы

ключики wget: wget -q -N ... -q - не выводить инфу на экран -N - не закачивать файлы, если они уже есть и дата создания не новее (дату смотрим, чтоб закачивать обновленные файлы с тем-же именем например drwtoday.vdb)

Так что ничего лишнего не скачается.

destroyer
()
Ответ на: комментарий от destroyer

Вот написал удобный скриптец, для обновления винь клиентов через веб:


#!/usr/bin/perl

$WEB_Path = "ftp://ftp.drweb.ru/pub/bases/";;
$Path = "/opt/drweb";
$Bases = "/var/www/drweb";
$DrwebLst = "drweb32.lst";
$ServerNeedBase = 1;


$Temp = "-R drwebase.vdb" if($ServerNeedBase == 0);
`wget -q -N -r $Temp --passive-ftp -P$Bases -nd $WEB_Path`;


opendir(DIR,$Bases);
while($File = readdir(DIR)){
 next if(($File =~ m/^\./) ||
         ($File eq $DrwebLst) ||
         ($File =~ m/^drwebase/) ||
         ($File =~ m/^drwtoday/));
 $File =~ m/^drw(\d{3})/;
 push(@{$Files{$1}},$File);
}
closedir(DIR);

open(FILE,">$Bases/$DrwebLst") or die "Can't open file";
foreach $Ver (keys %Files){
 print FILE "[$Ver]\n";
 foreach $CurFile (@{$Files{$Ver}}){
  print FILE "+$CurFile\n";
 }
 print FILE "+drwtoday.txt\n+drwtoday.vdb\n\n";
}
close(FILE);

Mrak ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.