UNRAR 3.90 beta 3 freeware Copyright (c) 1993-2009 Alexander Roshal
Extracting from update.rar
Extracting update.ver OK
All OK
Размеры файлов em002_32_l0.nup и em002_32_l0.nup не совпадают
Удаляем старый em002_32_l0.nup и загружаем em002_32_l0.nup
--2011-11-23 14:38:31-- http://89.202.157.227//download/engine3/em002_32_l0.nup
Connecting to 89.202.157.227:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to 89.202.157.227:80.
HTTP request sent, awaiting response... 200 OK
Length: 24250482 (23M) [application/octet-stream]
Saving to: `em002_32_l0.nu
<?php
// Подробное описание инсталяции и настройки см
//http://www.volmed.org.ru/wiki/index.php/Скрипт_по_обновлению_антивирусных_баз_NOD32_под_Linux_(PHP)
//Путь до директории хранения файлов
define("DEFAULT_SAVE_PATH","/var/lib/nod32");
//Имя пользователя, от которого работает WEB сервер
// В данном случае apache
define("HTTP_USER", "root");
//Если установлен php-rar, то bash архваторы ($unrar) указывать не обязательно, тк
// у php-rar более высокий приоритет.
///////////////////////////////////////////////////////////////////////
//Если не установлен php-rar, то указываем каким архиватором пользуемся
//Разархивируем строку с $unrar и архиватором, которым пользуемся
//Если архиватор 7zip, который умеет работать с rar архивами
//$unrar=$arc['7z'];
//Если архиватор unrar из пакетов дистрибутива и http://www.rarlab.com/download.htm
$unrar=$arc['unrar'];
//Если архиватор unrar, распостраняемый по GNU (https://gna.org/projects/unrar/)
//$unrar=$arc['gnu_unrar'];
//Путь до программы архиватора
$unrar['path']='/usr/bin/unrar -kb';
////////////////////////////////////////////////////////////////////////
//Программа закачки файлов обновлений
// Если Вы хотите использовать wget разкоментируйте следующую строку
// и укажите путь до wget в вашей системе
// Если она закоментирована, будет использоваться php-curl
// Для wget можно тут же добавить дополнительные ключи, например,
// $wget='/usr/bin/wget --limit-rate=16k';
$wget='/usr/bin/wget';
// У меня, например, все что запускается из крона и выводит сообщения в консоль,
// отправляются на п/я root'а и пересылаются мне.
//Если нужно, что бы сообщения по обновлению баз дополнительно посылались
// на определенный п/я ящик, то снимаем ремарку со следующей строки и указываем
// нужный адрес.
//$user_mail="asdf@host.ru";
// Но при этом дб настроен и запущен почтовый сервер (postfix, sendmail или другой).
/////////////////////////////////////////////////////
// Эта функция работает с версии php 5.1 и выше
// Если Вы хотите или должны использовать HTTP-Proxy, пожалуйста, разкоментируйте
// следующую строку укажите, что все что Вам нужно
// Возможен один из вариантов указанных ниже:
//
//$proxy = 'http://username:password@servername_OR_ip:port';
// $proxy = 'http://username@servername_OR_ip:port';
// $proxy = 'http://servername_OR_ip:port';
/////////////////////////////////////////////////////
// Иногда размер реального файла в байтах не совпадает с размером файла в update.ver
// Для проверки размера файла можно указать дельту - максимальную разницу этих данных
// Чаще всего она равна 1 байт, но Вы можете указать любую от 0 до ...(смайлик).
// Если не задана, то по умолчанию $diff=1
// $diff=1;
// $quit=1 - Не отображать сообщения на консоли, кроме сообщений об ошибках
// $quit=0 - Отображать сообщения на консоли
$quiet=0;
// Имя пользователя (может не присутствовать)
$userV2='XXXXXXXXXXXX';
//$userV2='';
// Пароль (может не присутствовать)
$pswV2='XXXXXXXXXXXXXXX';
//$pswV2='';
//Укажите логин и пароль для V3 и V5, если они отличаются от V2.
$userV3='XXXXXXXXXXXX';
$pswV3='XXXXXXXXXXXXXXX';
$userV5='XXXXXXXXXXXXX';
$pswV5='XXXXXXXXXXXXX';
$servers = array(
// Настройки для верисии V3,4
array(
// Адрес сервера (Если закачка с офа, то строку 'host' надо заремить)
//'host'=>'http://host.ru/v3/',
// Web каталог для баз
'www'=>'/var/www/html/nod32/eset_upd/',
'user'=>$userV3,
'password'=>$pswV3,
// Если используется имя и пароль для доступа к базам, а
// файл update.ver и файлы бызы в одной директории на сервере,
// с которого скачиваются обновления, тогда "all_in_one'=>1,"
// Для официальных серверов "all_in_one'=>0,"
'all_in_one'=>0,
//Закачивать ли программные компоненты (В большинстве случаев они
// не нужны и занимают только место на сервере)
// Заремарте ненужные строки
'compons' => array(
'0'=>'en',
'1'=>'ru',
),
// ess
// 0 - Если у Вас логин и пароль для версии NOD Antivirus
// 1 - Если у Вас логин и пароль для версии NOD ESS
'ess'=>0,
// Версия (дб обязательно)
'type' => 'V3',
),
// Настройки для верисии V5
array(
// Адрес сервера (Если закачка с офа, то строку 'host' надо заремить)
'host'=>'http://nod.kazachya.net/',
// Web каталог для баз
'www'=>'/var/www/html/nod32/nod325/',
// 'user'=>$userV5,
// 'password'=>$pswV5,
// Если используется имя и пароль для доступа к базам, а
// файл update.ver и файлы бызы в одной директории на сервере,
// с которого скачиваются обновления, тогда "all_in_one'=>1,"
// Для официальных серверов "all_in_one'=>0,"
'all_in_one'=>1,
//Закачивать ли программные компоненты (В большинстве случаев они
// не нужны и занимают только место на сервере)
// Заремарте ненужные строки
'compons' => array(
'0'=>'en',
'1'=>'ru',
),
// ess
// 0 - Если у Вас логин и пароль для версии NOD Antivirus
// 1 - Если у Вас логин и пароль для версии NOD ESS
'ess'=>0,
// Версия (дб обязательно)
'type' => 'V5',
),
);
?>
Для второй версии как видишь я вообще массив убрал. И вот еще что. По умолчанию скрипт использует unrar для распаковки. У меня он не работал, но если кое что сделать то все ок.
1. Проверить где у тебя unrar
[console][root@ldap ~]# whereis unrar
unrar: /usr/bin/unrar /usr/share/man/man1/unrar.1.gz[/console]
2. Если путь не совпадает поменять, то же самое и для wget.
3. В скрипте есть строчка
text
$unrar['path']='/usr/bin/unrar';
Вот ее надо подправить. Без этих ключей не работает
text
$unrar['path']='/usr/bin/unrar -kb';
В итоге скрипт вытягивает для 3 и 4 версии с официальных серверов NOD32 по паролю и пользователю, которые дают при покупке лицензии. Для 5 версии качается с левого сайта и для это и ставится 1 вот тут 'all_in_one'=>1. Что бы он не лез в официалку.
А вот так у тебя должен отработать скрипт
[console]The file em002_32_l2.nup older em002_32_l2.nup
Delete old em002_32_l2.nup and upload new em002_32_l2.nup
--2011-11-23 17:57:47-- http://nod.kazachya.net/em002_32_l2.nup
Распознаётся nod.kazachya.net... 213.186.121.237
Устанавливается соединение с nod.kazachya.net|213.186.121.237|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 1110285 (1,1M) [application/octet-stream]
Сохраняется в каталог: `/var/lib/nod32/mirror_V5/em002_32_l2.nup'.
100%[====================================================================================================================>] 1110285 117K/s в 11s
Ну у меня сделано так.
1. Есть ключ для нода.
2. Ставлю всем клиентам НОД.
3. Обновляю их с сервера через скрипт, который качает все в шару с оф. сайта.
Вот скрипт на перле
Скрытый текст +
пробуем этот. более понятен ,чем на php/
--=XliN=--
использую ваш скрипт.
поменял логин и пароль на свои. сохранил с расширением sh. создал директории /var/ftp/pub/nod32 и /var/ftp/pub/nod32/tmp
дал права 777 на файл скрипта.
попытался запустить его в mc - тишина ...
просвятите насчет последовательности действий
какое расширение после точки должно быть у скрита,если надо сохранить в перле?
В Linux'е расширение файла не имеет такого значения, как в иных операционных системах.
Однако ради соблюдения стандартов можете написать .pl.
Запуск интерпретатора Perl осуществляется следующим образом:
text
perl [ключи] файл аргументы
То есть можно указать путь к скрипту в командной строке либо написать скрипт, указав в нём путь к интерпретатору perl:
text
#!/usr/bin/perl
# Далее идёт содержимое самого файла, например
print "Hello, World!\n";
./NOD32_3UPDATE.sh: line 81: /usr/local/src/rar: is a directory
grep: arc/update.ver: No such file or directory
./NOD32_3UPDATE.sh: line 127: [: ==: unary operator expected
Файл update.ver - плохой
Обновление антивирусных баз ERROR
Восстанавливаем базу
rm: cannot remove `/var/lib/nod32/mirror3/*.*': No such file or directory
cp: omitting directory `/home/lavr/ono//eset_upd'
Время работы сценария 1 с
<?php
// Подробное описание инсталяции и настройки см
//http://www.volmed.org.ru/wiki/index.php/Скрипт_по_обновлению_антивирусных_баз_NOD32_под_Linux_(PHP)
//Путь до директории хранения файлов
define("DEFAULT_SAVE_PATH","/var/lib/nod32");
//Имя пользователя, от которого работает WEB сервер
// В данном случае apache
define("HTTP_USER", "root");
//Если установлен php-rar, то bash архваторы ($unrar) указывать не обязательно, тк
// у php-rar более высокий приоритет.
///////////////////////////////////////////////////////////////////////
//Если не установлен php-rar, то указываем каким архиватором пользуемся
//Разархивируем строку с $unrar и архиватором, которым пользуемся
//Если архиватор 7zip, который умеет работать с rar архивами
//$unrar=$arc['7z'];
//Если архиватор unrar из пакетов дистрибутива и http://www.rarlab.com/download.htm
$unrar=$arc['unrar'];
//Если архиватор unrar, распостраняемый по GNU (https://gna.org/projects/unrar/)
//$unrar=$arc['gnu_unrar'];
//Путь до программы архиватора
$unrar['path']='/usr/bin/unrar -kb';
////////////////////////////////////////////////////////////////////////
//Программа закачки файлов обновлений
// Если Вы хотите использовать wget разкоментируйте следующую строку
// и укажите путь до wget в вашей системе
// Если она закоментирована, будет использоваться php-curl
// Для wget можно тут же добавить дополнительные ключи, например,
// $wget='/usr/bin/wget --limit-rate=16k';
$wget='/usr/bin/wget';
// У меня, например, все что запускается из крона и выводит сообщения в консоль,
// отправляются на п/я root'а и пересылаются мне.
//Если нужно, что бы сообщения по обновлению баз дополнительно посылались
// на определенный п/я ящик, то снимаем ремарку со следующей строки и указываем
// нужный адрес.
//$user_mail="asdf@host.ru";
// Но при этом дб настроен и запущен почтовый сервер (postfix, sendmail или другой).
/////////////////////////////////////////////////////
// Эта функция работает с версии php 5.1 и выше
// Если Вы хотите или должны использовать HTTP-Proxy, пожалуйста, разкоментируйте
// следующую строку укажите, что все что Вам нужно
// Возможен один из вариантов указанных ниже:
//
//$proxy = 'http://username:password@servername_OR_ip:port';
// $proxy = 'http://username@servername_OR_ip:port';
// $proxy = 'http://servername_OR_ip:port';
/////////////////////////////////////////////////////
// Иногда размер реального файла в байтах не совпадает с размером файла в update.ver
// Для проверки размера файла можно указать дельту - максимальную разницу этих данных
// Чаще всего она равна 1 байт, но Вы можете указать любую от 0 до ...(смайлик).
// Если не задана, то по умолчанию $diff=1
// $diff=1;
// $quit=1 - Не отображать сообщения на консоли, кроме сообщений об ошибках
// $quit=0 - Отображать сообщения на консоли
$quiet=0;
// Имя пользователя (может не присутствовать)
$userV2='XXXXXXXXXXXX';
//$userV2='';
// Пароль (может не присутствовать)
$pswV2='XXXXXXXXXXXXXXX';
//$pswV2='';
//Укажите логин и пароль для V3 и V5, если они отличаются от V2.
$userV3='XXXXXXXXXXXX';
$pswV3='XXXXXXXXXXXXXXX';
$userV5='XXXXXXXXXXXXX';
$pswV5='XXXXXXXXXXXXX';
$servers = array(
// Настройки для верисии V3,4
array(
// Адрес сервера (Если закачка с офа, то строку 'host' надо заремить)
//'host'=>'http://host.ru/v3/',
// Web каталог для баз
'www'=>'/var/www/html/nod32/eset_upd/',
'user'=>$userV3,
'password'=>$pswV3,
// Если используется имя и пароль для доступа к базам, а
// файл update.ver и файлы бызы в одной директории на сервере,
// с которого скачиваются обновления, тогда "all_in_one'=>1,"
// Для официальных серверов "all_in_one'=>0,"
'all_in_one'=>0,
//Закачивать ли программные компоненты (В большинстве случаев они
// не нужны и занимают только место на сервере)
// Заремарте ненужные строки
'compons' => array(
'0'=>'en',
'1'=>'ru',
),
// ess
// 0 - Если у Вас логин и пароль для версии NOD Antivirus
// 1 - Если у Вас логин и пароль для версии NOD ESS
'ess'=>0,
// Версия (дб обязательно)
'type' => 'V3',
),
// Настройки для верисии V5
array(
// Адрес сервера (Если закачка с офа, то строку 'host' надо заремить)
'host'=>'http://nod.kazachya.net/',
// Web каталог для баз
'www'=>'/var/www/html/nod32/nod325/',
// 'user'=>$userV5,
// 'password'=>$pswV5,
// Если используется имя и пароль для доступа к базам, а
// файл update.ver и файлы бызы в одной директории на сервере,
// с которого скачиваются обновления, тогда "all_in_one'=>1,"
// Для официальных серверов "all_in_one'=>0,"
'all_in_one'=>1,
//Закачивать ли программные компоненты (В большинстве случаев они
// не нужны и занимают только место на сервере)
// Заремарте ненужные строки
'compons' => array(
'0'=>'en',
'1'=>'ru',
),
// ess
// 0 - Если у Вас логин и пароль для версии NOD Antivirus
// 1 - Если у Вас логин и пароль для версии NOD ESS
'ess'=>0,
// Версия (дб обязательно)
'type' => 'V5',
),
);
?>
Для второй версии как видишь я вообще массив убрал. И вот еще что. По умолчанию скрипт использует unrar для распаковки. У меня он не работал, но если кое что сделать то все ок.
1. Проверить где у тебя unrar
[console][root@ldap ~]# whereis unrar
unrar: /usr/bin/unrar /usr/share/man/man1/unrar.1.gz[/console]
2. Если путь не совпадает поменять, то же самое и для wget.
3. В скрипте есть строчка
text
$unrar['path']='/usr/bin/unrar';
Вот ее надо подправить. Без этих ключей не работает
text
$unrar['path']='/usr/bin/unrar -kb';
В итоге скрипт вытягивает для 3 и 4 версии с официальных серверов NOD32 по паролю и пользователю, которые дают при покупке лицензии. Для 5 версии качается с левого сайта и для это и ставится 1 вот тут 'all_in_one'=>1. Что бы он не лез в официалку.
А вот так у тебя должен отработать скрипт
[console]The file em002_32_l2.nup older em002_32_l2.nup
Delete old em002_32_l2.nup and upload new em002_32_l2.nup
--2011-11-23 17:57:47-- http://nod.kazachya.net/em002_32_l2.nup
Распознаётся nod.kazachya.net... 213.186.121.237
Устанавливается соединение с nod.kazachya.net|213.186.121.237|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 1110285 (1,1M) [application/octet-stream]
Сохраняется в каталог: `/var/lib/nod32/mirror_V5/em002_32_l2.nup'.
100%[====================================================================================================================>] 1110285 117K/s в 11s
Old version 6653 (20111123)
New version 6654 (20111123)
SUCCESS of updating bases V5
[/console]
сделал все по вашей инструкции. переименовал скрипт в ppp.php
запустил в крон:
/home/lavr/ppp.php: line 1: ?php: No such file or directory
/home/lavr/ppp.php: line 2: //: is a directory
/home/lavr/ppp.php: line 3: syntax error near unexpected token `PHP'
/home/lavr/ppp.php: line 3: `//http://www.volmed.org.ru/wiki/index.php/Скрипт_по_обновлению_антивирусных_баз_NOD32_под_Linux_(PHP)'
Ну у меня сделано так.
1. Есть ключ для нода.
2. Ставлю всем клиентам НОД.
3. Обновляю их с сервера через скрипт, который качает все в шару с оф. сайта.
/home/lavr/zzz.pl: line 3: =: command not found
/home/lavr/zzz.pl: line 4: =: command not found
/home/lavr/zzz.pl: line 7: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin: No such file or directory
/home/lavr/zzz.pl: line 8: =: command not found
/home/lavr/zzz.pl: line 11: syntax error near unexpected token `('
/home/lavr/zzz.pl: line 11: ` %servers = ('