Скрипт по обновлению антивирусных баз NOD32 под Linux (PHP): различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Инсталяция)
(Что умеет скрипт.)
Строка 20: Строка 20:
 
#Создает папку на веб сервере с файлами обновления.
 
#Создает папку на веб сервере с файлами обновления.
 
#При ошибке обновления восстанавливает базу в том виде, которая была до обновления.  
 
#При ошибке обновления восстанавливает базу в том виде, которая была до обновления.  
 +
Скрипт автоматически создает папки для временного хранения копий баз /var/lib/nod32/mirror_V2 и /var/lib/nod32/mirror_V3 и загружает туда файлы антивирусных баз. Если обновление прошло успешно, то переписывает базы в WEB директорию, а если произошла ошибка, то наоборот, восстанавливает базы, переписывая их из WEB директории в папку временного хранения.
 +
 
Спасибо [http://madbadjack.com/forum/showthread.php?t=2783 Kode] - использовал его функции. Так как не очень большой спец в PHP, то прошу не пинать, а если можно то помочь доработать.
 
Спасибо [http://madbadjack.com/forum/showthread.php?t=2783 Kode] - использовал его функции. Так как не очень большой спец в PHP, то прошу не пинать, а если можно то помочь доработать.
 +
 
==Из чего состоит==
 
==Из чего состоит==
 
# '''update.php''' - Сам скрипт
 
# '''update.php''' - Сам скрипт

Версия 09:47, 19 января 2009

Вот портировал скрипты по обновлению антивирусных баз NOD32 V2* и V3* в PHP.

Версии скрипта

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

  1. Версия 1.3 от 16.01.2009
    1. Если при обновлении NOD32 V2 происходила ошибка, то она не сбрасывалась и для NOD32 V3
    2. Не правильно формировался блок [data0001] в файле update.ver в NOD32 V3, если в этой секции встречался знак =.
    3. Убрано отображение некоторых ненужных сообщений.
  2. Версия 1.2 от 2.12.2008
    1. Исправлено удаление файла, если он уже не нужен
  3. Версия 1.1 от 18.11.2008
    1. Первая версия.

Что умеет скрипт.

Умеет все тоже, что и скрипт на bash, только работает быстрее, один скрипт может обновлять обе версии и можно использовать на любой платформе (сам не пробовал) .

  1. Обновляет базы с официальных и бесплатных серверов NOD32 (для официальных серверов нужно задать имя и пароль для обновления).
  2. Обновляет сразу базы для V2 и V3, но может и отдельно.
  3. Если на сервере названия файлов не совпадают с локальными - не качает, а переименовывает файлы.
  4. Сам создает файл update.ver. Те при обновлении с зеркал обновляются только компоненты с более новыми версиями.
  5. Автоматически создает папки, нужные для работы программы, в том числе и для Web сервера.
  6. Создает папку на веб сервере с файлами обновления.
  7. При ошибке обновления восстанавливает базу в том виде, которая была до обновления.

Скрипт автоматически создает папки для временного хранения копий баз /var/lib/nod32/mirror_V2 и /var/lib/nod32/mirror_V3 и загружает туда файлы антивирусных баз. Если обновление прошло успешно, то переписывает базы в WEB директорию, а если произошла ошибка, то наоборот, восстанавливает базы, переписывая их из WEB директории в папку временного хранения.

Спасибо Kode - использовал его функции. Так как не очень большой спец в PHP, то прошу не пинать, а если можно то помочь доработать.

Из чего состоит

  1. update.php - Сам скрипт
  2. function.php - Файл функций
  3. section.php - Файл описания секций
  4. setup.php - Файл установок

Инсталяция

  1. Устанавливаем пакеты php-cli.*.rpm и php-rar*.rpm.
    1. Если нет пакета php-rar*.rpm, можно установить RAR для Linux.
  2. Выкачиваем архив nod_upd_php_v1.3.tar.gz и распаковываем в любой каталог, например, /usr/local/upd_prog.
  3. Редактируем файл setup.php для каждого варианта антивируса - Устанавливаем:
    1. Адрес сервера, например ('host'=>'http://89.202.157.139/',)
    2. Web каталог для каждой версии баз, например ('www'=>'/var/www/nod32/',)
    3. Имя пользователя, например ('user'=>'EAV-06545664',) или ('user'=>' ',) - для бесплатных серверов
    4. Пароль, например ('password'=>'k3fp7ksv8e',) или ('password'=>' ',) - для бесплатных серверов
  4. Пробуем из под root запустить файл update.php.
  5. Теперь в crontab прописываем запуск скрипта
# Обновление баз NOD32*
00 09,15 * * * root /etc/upd_prog/update.php

и наслаждаемся автоматическим обновлением 2 раза в сутки

Настройка сервера Apache для доступа к базам по паролю