Страница 4 из 27
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-08-18 15:44:33
Le Travailleur
Подтверждаю, новый скрипт Гостя работает хорошо, проблем пока не выявлено. Забит в ежечасный crond, обновления скачиваются оперативно, два-три раза за сутки.
Вопрос теперь только в том, что быдет, когда ключик, указанный в скрипте, кончится...
Нельзя ли как-нибудь скрестить поиск ключей в гугле из самого первого скрипта и возможности по закачке из второго?
Было бы прост чудесно!
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-08-27 10:49:41
kryos
Здравствуйте люди, может кто поможет скрипт который с автопоиском ключей почемуто уже не работает.. Пытался переделать другой скрипт для скачки с халявного зеркала не хочет никак . Ругается на отсуцтвие файла на сервере update.ver но если пройти по ссылке то он там есть... Что не так я делал ?
Код: Выделить всё
#!/usr/bin/perl
use LWP;
# path to store updates
$PATH="/usr/local/www/data";
# way to wget
$WGET="/usr/local/bin/wget";
# username/password for updates registered users
#$LOGIN="EAV-04170633";
#$PASS="a4ju642rvv";
# URL for updates
$URL_UPD="http://nod3.petabyte.ru/";
$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";
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;
($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");
}
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-08-27 15:55:48
hizel
если вы закомментировали login и pass то
уберите их везде, включая
Код: Выделить всё
system("$WGET -P $path --http-user=$login --http-password=$pass $url");
хотя-бы приведите к виду
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-08-29 12:09:46
kryos
Большое спасибо. Помогло
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-08-30 5:28:08
FenX
Если кому интересно:
скрипт из первого поста данной темы,
но качает wget`ом, плюс тянет обновки только с заданного сервера
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-01 16:11:30
leo_boy
binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print() on closed filehandle F at /usr/local/nod32/upd.pl line 117, <AUTHFILE> line 10.
binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print() on closed filehandle F at /usr/local/nod32/upd.pl line 117, <AUTHFILE> line 10.
binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print
У меня также ругалось после того как я удалил все папки которые сам создал скрипт. Вторично почему-то он их создать не смог. Сам добавил руками с все заработало.. попробуй создать eset_upd и download ( в папке довнлоад нужно еще создать engine3 & engine3ess) (в скрипте можно посмотреть)
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-01 20:56:33
FenX
Не смог создать папки - из-за нехватки прав.
смотри под каким юзером запускаешь и смотри,
есть ли у него права на запись в корневую диру.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-01 23:24:18
jesprit
Код: Выделить всё
Use of uninitialized value in split at ./upd.pl line 116.
--2008-09-02 03:22:48-- http://update.eset.com//eset_updupdate.ver
Resolving update.eset.com... 90.183.101.14, 90.183.101.16, 90.183.101.10, ...
Connecting to update.eset.com|90.183.101.14|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2008-09-02 03:22:48 ERROR 404: Not Found.
Use of uninitialized value in split at ./upd.pl line 116.
Вот что у меня. Но я так понимаю все ж таки адрес официальных обновлений, там явно все есть...и как то у меня
404 Not Found не вяжется со всем.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-02 15:12:10
FenX
вот за лог спасибо
ща поправлю
Залил архив с поправленным скриптом.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-03 13:32:20
foks
1 Файлы и папки несоздаются под любым юзером при полных правах
2 создаёшь всё вручную, начинает фурычить, но не доконца
3 у wget на разных системах видимо по разному принемаетяс параметр password, в данном скрипте, в моём случае --http-password, нужно заменить на --httpd-passwd
4 скачка баз прошла, только почему то объём у папок engine3 скачаных скриптом из первого поста и последним разный.
5
Код: Выделить всё
-16:40:40-- http://update.eset.com/eset_updupdate.ver
=> `/var/db/eset_mirror/eset_updupdate.ver'
Resolving update.eset.com... 90.183.101.15, 90.183.101.16, 90.183.101.17, ...
Connecting to update.eset.com[90.183.101.15]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
16:40:40 ERROR 404: Not Found.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-03 13:37:02
foks
Сорь, файлы создаются, пути заметил потом. Но без файла nod32.auth ---
Код: Выделить всё
Can't locate object method "decoded_content" via package "HTTP::Headers" at (eval 20) line 1.
его закидываешь с первого скрипта и начинается даунлоад update.ver, а если в корне со криптом не будет папок eset_upd и download c соответствующими подпапками, то дальше скачка не идёт.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-03 14:11:07
FenX
странно Оо
у меня пашет без вопросов.
отличается от своего родителя только тем,
что убрано излишнее чтение файла на предмет адресов обновлений
и качает всё только с того сервера, который указан в начале в настройках...
Проверь наличие модулей perl (LWP и URI) в системе.
Если нет, то попробуй поставить их (cpan -i LWP; cpan -i URI)
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-03 16:46:59
Le Travailleur
FenX, потверждаю: со скриптом что-то "не айс". По логам ошибок, вроде, не светит, но тем не менне,
НОД с ним не обновляется: вероятно, что-то не так с
update.ver. До сих пор пользуюсь последним
скриптом Гостя плюс последующая сортировка своим скриптом. Есть одно "маленькое но": в
скрипте Гостя в результате создаются два файла:
update.tmp и
update.ver. Так вот, что бы все работало, как надо, приходится игнорировать
update.ver и переименовывать
update.tmp в
update.ver с последующим переносом в нужную папку.
Может, конечно, и у меня что-то не так, но вот только таким образом все работает. Правда,
скрипт Гостя не ищет пароли...
Да, если инетерсно будет, то могу архивнуть всю папочку со скриптами и притаттачить: вполне может быть, что это я идиот
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-03 21:49:14
FenX
так.
с файлом update.ver проблем быть не должно =\
проверь - создаются ли все папки. проверь, складываются ли файлы в нужные дериктории.
Так же проверь наличае родного файла update.ver в base_dir/eset_upd/
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-05 18:44:23
foks
Естественно эти модули установлены и функционируют, начальный скрипт то от них и зависит. Впринципе то, если голова варит, заставить его работать можно, но меня смутило то, что размер баз начального скрипта и переделанного различный, хоть и незначительно(не более 1мб).
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-06 2:25:20
FenX
Вопрос в какую сторону
возможно это из-за того, что начальный скрипт тянул ещё и с других зеркал что-то...
там просто возможны какие-то дообновления...
хотя у меня лично. в последнее время многие сервера обновления почему-то не доступны =(
Что касается самого скрипта:
по каким причинам именно не ф-ционирует?
где косяк?))
я просто поправлю и перезалью
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-06 9:16:34
foks
Щяс ещё раз всё проверил, папки создаются, с update.ver тоже всё в поряде, никаких tmp, размер у баз тоже одинаковый, скорей всего раньше нестыковка по времени была, из за этого и размер отличался.
Но и есть пара моментов:
1 в архиве который ты залил, в директории lib отсутствует файл nod32.auth, содержаший ключ без которого скрипт работать не будет.
2 Пути в скрипте: не у всех wget лежит в usr/local/bin + unrar не всем подходит, но это уже "дело рук самих утопающих"
А зачем собственно убран блок поиска ключей и серверов. Может их лучше оставить + закачка wget'ом при которой недолжны "биться" файлы базы, как в начальном скрипте и не нужно было бы их чистить раз в сутки.
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-17 22:27:02
Pez!
Код: Выделить всё
games1# /usr/local/www/eset_www/update_eset.sh
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
вот такое стало выскакивать при обновлениях, в логе обновы пишет, что гугл просит ввести картинку с капчи.
Ни кто не в курсе как побороть ? до этого месяц работало стабильно
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-17 22:38:41
Pez!
прописал ключики вручную в файл nod32.auth и вроде обновилось, странно что только сейчас трабл появился
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-21 0:42:54
NiTr0
Подпилил скрипт
отсюда. Основные изменения:
- Апдейтит как 2, так и 3 версию; для v2 - можно указать языки программных модулей, которые будут копироваться (думаю, мало кому нужен апдейт для китайской версии ), и ессно можно отключить апдейт для 2 или 3 версии "галочкой"
- При ошибке получения файла - не сохраняет битое нечто как файло апдейта, а просто игнорит
- Проверка не версий, а билдов (т.к. может быть теоретически свежее билд той же версии - во всяком случае, номер билда всегда больше номера версии, когда - на пару единиц, когда - на сотни, в зависимости от пакета)
- Теперь проверяется размер файлов не только для старых файлов, но и для файлов текущей версии (на случай кривого файла на исходном зеркале, недокачанного файла и т.д.)
- Сделано "умное" создание директорий (т.е. - директория создается тогда и только тогда, когда в нее требуется поместить файло - раньше было создание набора директорий при первом запуске по глупому условию)
- Выбор детализации логов (если откл детализацию - убираются сообщения о проверке сервера и о том, что на у нас база не старее чем на сервере)
- Прочие мелкие фиксы (касательно апдейтера, в "кейген" не лез ибо пока не глючил )
P.S. выявил и поправил кое-какие мелкие баги
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-23 17:59:01
cac2s
NiTr0 писал(а):Подпилил скрипт
отсюда. Основные изменения:
- Апдейтит как 2, так и 3 версию; для v2 - можно указать языки программных модулей, которые будут копироваться (думаю, мало кому нужен апдейт для китайской версии ), и ессно можно отключить апдейт для 2 или 3 версии "галочкой"
- При ошибке получения файла - не сохраняет битое нечто как файло апдейта, а просто игнорит
- Проверка не версий, а билдов (т.к. может быть теоретически свежее билд той же версии - во всяком случае, номер билда всегда больше номера версии, когда - на пару единиц, когда - на сотни, в зависимости от пакета)
- Теперь проверяется размер файлов не только для старых файлов, но и для файлов текущей версии (на случай кривого файла на исходном зеркале, недокачанного файла и т.д.)
- Сделано "умное" создание директорий (т.е. - директория создается тогда и только тогда, когда в нее требуется поместить файло - раньше было создание набора директорий при первом запуске по глупому условию)
- Выбор детализации логов (если откл детализацию - убираются сообщения о проверке сервера и о том, что на у нас база не старее чем на сервере)
- Прочие мелкие фиксы (касательно апдейтера, в "кейген" не лез ибо пока не глючил )
P.S. выявил и поправил кое-какие мелкие баги
Работает отменно, НО заметил два НО:
1. при первом запуске не хочет обновляться, т.к. не имеет фалов "update.ver". приходится качать руками и подсовывать в папки v2 и v3
2. если нет связи с внешним миром - пропадают те самые "подсунутые" или закаченные скриптом "update.ver", приходится опять подсовывать
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-23 18:03:48
FenX
1. Проверил у себя - всё замечательно качается и создаётся.
2. Эта проблема была со всеми предложенными скриптами
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-23 20:09:13
cac2s
FenX писал(а):1. Проверил у себя - всё замечательно качается и создаётся.
только что переименовал update.ver - получил: couldn't open the v2/update.ver!
FenX писал(а):2. Эта проблема была со всеми предложенными скриптами
какая "эта"? подозреваю, что Вы меня не до конца поняли...
я имел ввиду, что, если запустить скрипт, когда у контупера нет доступа к миру, то пропадают файлы update.ver в папках v2 и v3.
после того, как связь появляется - наступает очередь первой (не закачиваются файлы update.ver)
результат - автоматические обновления становятся неавтоматичскими
З.Ы.: прошу прощения за, может быть, излишнее "разжОвывание", просто хочу быть уверен, что мы говорим об одном и том же ))
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-23 21:04:43
FenX
Да, мы говорим об одном и том же
Первая проблема, возможно связанна с нехваткой прав на директорию.
Проверь, есть ли права на запись.
А вот как побороть 2ю проблему (удаление файла) я хз.
Она идёт из-за того, что перед тем, как скачать новый update.ver,
скрипт переименовывает старый в update.ver.old
Re: Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-09-24 5:56:48
mymy
Кто-нибудь может объяснить толково,почему стало такое происходить и как побороть это?
Код: Выделить всё
Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.