LinuxForum.Fans
Тема

Антивирус для сети на OpenSuse 11.3

Автор: unlimited 40 сообщений 8823 просмотров
#205607
unlimited написал:
какую именно строчку???

[console]0 */4 * * * /root/script/nod32upd.pl(свой путь) > /dev/null[/console]

#205609

/4 - это что? часы? для чего "/" пишется?

#205610
unlimited написал:
/4 - это что? часы? для чего "/" пишется?

Почему я нахожу время почитать маны, а ты нет? :[
Эта строка сзначит запускать скрипт каждый день в 4 утра.

#205611

каждый день? а звездочка-это разве не каждый день? именно "/" непонятен.

спасибо за терпение.

учту при общении при последующем общении с новичками :cool:

#205613

может это не в 4 утра, а каждый четвертый час в сутках?

#205615
unlimited написал:
может это не в 4 утра, а каждый четвертый час в сутках?

хз... так и есть наверное. Именно. Каждые 4 часа в сутки. )))

#207193

день добрый.
сделал всё по инструкции ЭТОЙ

пишет - failed: Connection timed out.

может кто поделится актуальными ip -адресами серверов обновлений nod?

#207195

и чем отличаются указанные в скриптах версии V2 и V3?

#207196
unlimited написал:
может кто поделится актуальными ip -адресами серверов обновлений nod?

http://nod.kazachya.net/

unlimited написал:
и чем отличаются указанные в скриптах версии V2 и V3?

Первая для старого нода второй версии. Вторая для 3-4 версии.

#207211

пишет-номера билдов не совпадают. о чем речь идет?

#207604

очередной головняк(((
при запуске скрипта не обновляется нод.
выложу скрин:

HELP!!!


+ '[' -n EAV-55271271 ']'
+ url2=/eset_upd
+ '[' == http://u21.eset.com ']'
./NOD32_update3.sh: line 30: [: ==: unary operator expected
+ set +x
--2011-11-23 14:38:30-- http://89.202.157.227/eset_upd/update.ver
Connecting to 89.202.157.227:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7115 (6.9K) [application/octet-stream]
Saving to: `update.ver'

100%[======================================>] 7,115 --.-K/s in 0.09s

2011-11-23 14:38:30 (73.3 KB/s) - `update.ver' saved [7115/7115]


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
#207633
unlimited написал:
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to 89.202.157.227:80.
HTTP request sent, awaiting response... 200 OK

Ни о чем не говорит? Проверяй логин с паролью, если таковые имеются

#207677

-

-2011-11-23 17:14:17-- http://kazachya.net/eset_upd/update.ver
Resolving kazachya.net... 178.20.224.12
Connecting to kazachya.net|178.20.224.12|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2011-11-23 17:14:17 ERROR 404: Not Found.

Не могу выкачать update.ver
ICServer:/etc/upd_prog # ./NOD32_3UPDATE.sh
Content-transfer-encoding: 8bit
Content-type: text/plain; charset=utf-8
+ '[' -n EAV-55271271 ']'
+ url2=/eset_upd
+ '[' http://kazachya.net == http://update.eset.com ']'
+ set +x
--2011-11-23 17:14:18-- http://kazachya.net/eset_upd/update.ver
Resolving kazachya.net... 178.20.224.12
Connecting to kazachya.net|178.20.224.12|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2011-11-23 17:14:18 ERROR 404: Not Found.

Не могу выкачать update.ver
ICServer:/etc/upd_prog # ./NOD32_3UPDATE.sh
Content-transfer-encoding: 8bit
Content-type: text/plain; charset=utf-8
+ '[' -n EAV-55271271 ']'
+ url2=/eset_upd
+ '[' http://kazachya.net == http://update.eset.com ']'
+ set +x
--2011-11-23 17:14:18-- http://kazachya.net/eset_upd/update.ver
Resolving kazachya.net... 178.20.224.12
Connecting to kazachya.net|178.20.224.12|:80...

а здесь? делал все по вашим ссылкам)

прописывал различные сайты обновлений...(((
ни о чем

#207691

Ну вот смотри как у меня.

Показать
text
<?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

2011-11-23 17:57:59 (95,1 KB/s) - `/var/lib/nod32/mirror_V5/em002_32_l2.nup' сохранён [1110285/1110285]

Old version 6653 (20111123)
New version 6654 (20111123)
SUCCESS of updating bases V5
[/console]

#207807

Ну у меня сделано так.
1. Есть ключ для нода.
2. Ставлю всем клиентам НОД.
3. Обновляю их с сервера через скрипт, который качает все в шару с оф. сайта.

Вот скрипт на перле
Скрытый текст +

пробуем этот. более понятен ,чем на php/

--=XliN=--
использую ваш скрипт.
поменял логин и пароль на свои. сохранил с расширением sh. создал директории /var/ftp/pub/nod32 и /var/ftp/pub/nod32/tmp
дал права 777 на файл скрипта.
попытался запустить его в mc - тишина ...
просвятите насчет последовательности действий

#214986

какое расширение после точки должно быть у скрита,если надо сохранить в перле?

ребята помогите разобраться с этим чертовым нодом... я буду очень признателен

#214988
unlimited написал:
какое расширение после точки должно быть у скрита,если надо сохранить в перле?

В Linux'е расширение файла не имеет такого значения, как в иных операционных системах.
Однако ради соблюдения стандартов можете написать .pl.
Запуск интерпретатора Perl осуществляется следующим образом:

text

perl [ключи] файл аргументы

То есть можно указать путь к скрипту в командной строке либо написать скрипт, указав в нём путь к интерпретатору perl:

text

#!/usr/bin/perl
# Далее идёт содержимое самого файла, например
print "Hello, World!\n";

Выглядит это так:
[console]
lupo@gentoo-laptop ~ % cd /tmp
lupo@gentoo-laptop /tmp % vim test.pl
lupo@gentoo-laptop /tmp % perl test.pl
Hello, World!
lupo@gentoo-laptop /tmp % chmod 755 test.pl
lupo@gentoo-laptop /tmp % ./test.pl
Hello, World!
[/console]

#215035

спасибо.

добил все-таки запуск скрипта на bash:

запускаю скрипт на обновление и процедура ограничивается следующим:

Вывод команды /etc/upd_prog/update3.sh ..

mkdir: cannot create directory `/home/lavr/ono//eset_upd': File exists
Content-transfer-encoding: 8bit
Content-type: text/plain; charset=utf-8
+ '[' -n EAV-56257275 ']'
+ url2=/eset_upd
+ '[' http://www.volmed.org.ru/nod323n/ == http://update.eset.com ']'
+ set +x
--2011-12-20 09:05:56-- http://www.volmed.org.ru/nod323n//eset_upd/update.ver
Resolving www.volmed.org.ru... 78.36.168.210
Connecting to www.volmed.org.ru|78.36.168.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11017 (11K) [text/plain]
Saving to: `update.ver'

0K .......... 100% 96.3K=0.1s

2011-12-20 09:05:57 (96.3 KB/s) - `update.ver' saved [11017/11017]

./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 с

????

#215179
--=XliN=-- написал:
Ну вот смотри как у меня.
Показать
text
<?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

2011-11-23 17:57:59 (95,1 KB/s) - `/var/lib/nod32/mirror_V5/em002_32_l2.nup' сохранён [1110285/1110285]

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)'

#215185
--=XliN=-- написал:
Ну у меня сделано так.
1. Есть ключ для нода.
2. Ставлю всем клиентам НОД.
3. Обновляю их с сервера через скрипт, который качает все в шару с оф. сайта.

Вот скрипт на перле
Показать
text
#!/usr/bin/perl

$LOGIN = 'XXXXXXXX'; # логин $PASS = 'XXXXXXXX'; # пароль

$PATH = "/var/ftp/pub/nod32"; # папка хранения зеркала $TMP = "/var/ftp/pub/nod32/tmp"; # папка хранения временных файлов

# Серверы обновления %servers = ( 'http://update.eset.com', );

%versions = ("nod_upd","eset_upd"); # версии nod32

foreach $URL_UPD (%servers) { if($URL_UPD) { foreach $NUPD (%versions) { if($NUPD) { print "Using $URL_UPD/$NUPD...\n";

unlink("$TMP/$NUPD.ver","$PATH/$NUPD/update.ver"); download($PATH,"$URL_UPD/$NUPD/update.ver","/$NUPD/update.ver",$LOGIN,$PASS); system("/usr/bin/unrar e -y $PATH/$NUPD/update.ver $TMP"); rename("$TMP/update.ver","$TMP/$NUPD.ver");

$ver = "$TMP/$NUPD.ver";

open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\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; $furl = "$URL_UPD$val"; $line = "file=$name"; }

if ($par =~/size/ ) { $size = $val; $files{$name} = $size; $urls{$name} = "$furl"; } } } print "\n";

close(VER);

foreach $f (keys %files) { if ((-s "$PATH$f") != $files{$f}) { $size = (-s "$PATH$f"); print "$URL_UPD/$NUPD Not present --> $PATH$f\t$f\t$files{$f} ---> $size\n"; unlink("$PATH$f"); download($PATH,$urls{$f},$f,$LOGIN,$PASS); } else { print "$URL_UPD/$NUPD Present --> $PATH$f\t$f\t$files{$f}\n"; } }

chmod(0644,"$PATH/*");

sub download() { my ($path, $url, $f, $login, $pass) = @_; $dir = $f; $dir =~s/^(.*)\/(.*)$/$1/;

system("mkdir -p $path$dir"); system("/usr/bin/wget -P $path$dir --proxy-user=user --http-user=$login --http-password=$pass $url"); } } } } }

Есть еще скрипт на PHP. Пользуюсь и тем и тем.

Вывод команды /home/lavr/zzz.pl ..

/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 = ('

<-

Войдите или зарегистрируйтесь, чтобы ответить.