Скрипт по обновлению антивирусных баз NOD32 под Linux (PHP)
Вот портировал скрипты по обновлению антивирусных баз NOD32 V2* и V3* в PHP.
Содержание
Версии скрипта
Буду тут выкладывать описание версий с датами для более удобного отслеживания за изменениями
- Версия 1.4 от 21.01.2009
- Исправлена ошибка записи имени файла в создаваемой update.ver, если этого файла еще не было.
- Версия 1.3 от 16.01.2009
- Если при обновлении NOD32 V2 происходила ошибка, то она не сбрасывалась и для NOD32 V3
- Не правильно формировался блок [data0001] в файле update.ver в NOD32 V3, если в этой секции встречался знак =.
- Убрано отображение некоторых ненужных сообщений.
- Версия 1.2 от 2.12.2008
- Исправлено удаление файла, если он уже не нужен
- Версия 1.1 от 18.11.2008
- Первая версия.
Что умеет скрипт.
Умеет все тоже, что и скрипт на bash, только работает быстрее, один скрипт может обновлять обе версии и можно использовать на любой платформе (сам не пробовал) .
- Обновляет базы с официальных и бесплатных серверов NOD32 (для официальных серверов нужно задать имя и пароль для обновления).
- Обновляет сразу базы для V2 и V3, но может и отдельно.
- Если на сервере названия файлов не совпадают с локальными - не качает, а переименовывает файлы.
- Сам создает файл update.ver. Те при обновлении с зеркал обновляются только компоненты с более новыми версиями.
- Автоматически создает папки, нужные для работы программы, в том числе и для Web сервера.
- Создает папку на веб сервере с файлами обновления.
- При ошибке обновления восстанавливает базу в том виде, которая была до обновления.
Скрипт автоматически создает папки для временного хранения копий баз /var/lib/nod32/mirror_V2 и /var/lib/nod32/mirror_V3 и загружает туда файлы антивирусных баз. Если обновление прошло успешно, то переписывает базы в WEB директорию, а если произошла ошибка, то наоборот, восстанавливает базы, переписывая их из WEB директории в папку временного хранения.
Спасибо Kode - использовал его функции. Так как не очень большой спец в PHP, то прошу не пинать, а если можно то помочь доработать.
Из чего состоит
- update.php - Сам скрипт
- function.php - Файл функций
- section.php - Файл описания секций
- setup.php - Файл установок
Инсталяция
- Устанавливаем пакеты php-cli.*.rpm и php-rar*.rpm.
- Если нет пакета php-rar*.rpm, можно установить RAR для Linux.
- Выкачиваем архив nod_upd_php_v1.4.tar.gz и распаковываем в любой каталог, например, /etc/upd_prog/.
- Редактируем файл setup.php для каждого варианта антивируса - Устанавливаем:
- Адрес сервера, например ('host'=>'http://89.202.157.139/',)
- Web каталог для каждой версии баз, например ('www'=>'/var/www/nod32/',)
- Имя пользователя, например ('user'=>'EAV-06545664',) или ('user'=>' ',) - для бесплатных серверов
- Пароль, например ('password'=>'k3fp7ksv8e',) или ('password'=>' ',) - для бесплатных серверов
- Пробуем из под root запустить файл update.php.
- Теперь в crontab прописываем запуск скрипта
# Обновление баз NOD32* 00 09,15 * * * root /etc/upd_prog/update.php
и наслаждаемся автоматическим обновлением 2 раза в сутки