### Добавление обработчиков событий

Рассмотрим для примера создание обработчика событий для события «создание учетной записи клиента». К качестве первого параметра обработчик будет использовать имя клиента и логин клиента – в качестве второго. Для простоты воспользуемся сценарием shell с названием `test-handler.sh`, который выглядит следующим образом:

#!/bin/bash

echo "--------------" >> /tmp/event_handler.log

/bin/date >> /tmp/event_handler.log # information on the event date and time

/usr/bin/id >> /tmp/event_handler.log # information on the user, on behalf of which the script was executed (to ensure control)

echo "client created" >> /tmp/event_handler.log # information on the created client account

echo "name: $1" >> /tmp/event_handler.log # client's name

echo "login: $2" >> /tmp/event_handler.log # client's login

echo "--------------" >> /tmp/event_handler.log

Сценарий заносит в файл определенную информацию, которая позволяет следить за его выполнением (вывести информацию в stdout/stderr не возможно, так как сценарий выполняется в фоновом режиме).

Предположим, что сценарий расположен в каталоге `/plesk_installation_directory/bin`(например). Зарегистрируем его, создав обработчик событий через панель управления:

1. Щелкните по ссылке Сервер, расположенной в навигационной панели.
2. Щелкните по значку Менеджер событий в группе Панель управления.
3. Щелкните по значку Добавить обработчик. Появится страница настройки обработчика событий:
4. Из выпадающего списка Событие выберите событие, для которого Вам требуется создать обработчик.
5. Выберите приоритет, согласно которому будет осуществляться выполнение обработчика, или укажите произвольное значение. Для этого из выпадающего списка Приоритет выберите опцию «другой» и введите значение.

   При назначении нескольких обработчиков для одного события Вы можете указать порядок выполнения обработчиков, настроив разные приоритеты (более высокое значение соответствует более высокому приоритету).

6. Выберите пользователя системы, от имени которого будет осуществляться выполнение обработчиков.
7. В поле ввода Команда укажите команду, которую следует выполнять при наступлении выбранного события. В нашем примере это`/usr/local/psa/bin/test-handler.sh<new_contact_name> <new_login_name>`.
8. Нажмите OK.

Примечание: В угловых скобках были указаны параметры команды `<new_contact_name>`и`<new_login_name>`. Перед запуском обработчика вместо на их место будут подставлены имя и логин созданной учетной записи клиента соответственно. В следующем разделе приводится полный список доступных параметров. Следует помнить, что при выполнении операции удаления параметры типа new_xxx содержат пустую строку. При выполнении операции создания парметры типа old_xxx содержат пустую строку.

Теперь авторизуйтесь в панели управления Plesk и создайте новую учетную запись клиента, в поле Имя введите значение "Some Client", а в поле Имя пользователя (логин) введите "some_client". Произойдет запуск обработчика, и в файл `/tmp/event_handler.log` будут добавлены следующие записи:

Sat Jun 26 21:46:34 NOVT 2004

uid=0(root) gid=0(root) groups=0(root)

client created

name: Some client

login: some_client

Если Вам необходимо создать другие обработчики, повторите для каждого обработчика указанные выше действия.

Шаблоны параметров, которые могут быть использованы при создании обработчиков событий, преставлены в следующей таблице.

Таблица. Доступные шаблоны параметров обработчика событий

Имя и описание компонента | Параметр командной строки | Примечания
Старое значение компонента | Новое значение компонента
Для событий «Учетная запись клиента создана», «Учетная запись клиента обновлена», «Учетная запись клиента удалена»
Логин | old_login_name | new_login_name | обязательно
Имя | old_contact_name | new_contact_name | обязательно
Наименование компании | old_company_name | new_company_name |
Телефон | old_phone | new_phone |
Факс | old_fax | new_fax |
E-mail | old_email | new_email |
Адрес | old_address | new_address |
Город | old_city | new_city |
Штат/провинция | old_state_province | new_state_province |
Почтовый индекс | old_postal_zip_code | new_postal_zip_code |
Страна | old_country | new_country |
Для событий «Домен создан», «Домен обновлен», «Домен удален»
Доменное имя | old_domain_name | new_domain_name | обязательно
Для событий «Субомен создан», «Субомен обновлен», «Субомен удален»
Имя субдомена | old_subdomain_name | new_subdomain_name | обязательно
Имя родительского домена | old_domain_name | new_domain_name | обязательно
Учетная запись FTP | old_system_user_type | new_system_user_type |
Логин администратора субдомена | old_system_user | new_system_user |
Квота дискового пространства | old_hard_disk_quota | new_hard_disk_quota |
Поддержка SSI | old_ssi_support | new_ssi_support |
Поддержка PHP | old_php_support | new_php_support |
Поддержка CGI | old_cgi_support | new_cgi_support |
Поддержка Perl | old_mod_perl_support | new_mod_perl_support |
Поддержка Python | old_mod_python_support | new_mod_python_support |
Поддержка ColdFusion | old_coldfusion_support | new_coldfusion_support |
Поддержка Apache::ASP | old_apache_asp_support | new_apache_asp_support |
Поддержка SSL | old_ssl_support | new_ssl_support |
Для событий «Альтернативное имя домена создано, обновлено, удалено, изменена зона DNS»
Альтернативное имя домена | old_domain_alias_name | new_domain_alias_name | обязательно
Альтернативное имя домена включено или отключено | old_status | new_status |
Веб-служба для альтернативного имени домена включена или отключена | old_domain_alias_web | new_domain_alias_web |
Почтовая-служба для альтернативного имени домена включена или отключена | old_domain_alias_mail | new_domain_alias_mail |
Поддержка для доступа к веб-приложеням на Java для посетителей альтернативных имен домена (включена или отключена) | old_domain_alias_tomcat | new_domain_alias_tomcat |
Для событий «Физический хостинг создан», «Физический хостинг обновлен»
Доменное имя | old_domain_name | new_domain_name | обязательно
IP-адрес | old_ip_address | new_ip_address |
Тип IP-адреса | old_ip_type | new_ip_type |
Пользователь системы | old_system_user | new_system_user |
Пароль пользователя системы | old_system_user_password | new_system_user_password |
Доступ к командной оболочке | old_system_shell | new_system_shell |
Поддержка FP | old_fp_support | new_fp_support |
Поддержка FP-SSL | old_fpssl_support | new_fpssl_support |
Создание с помощью FP | old_fp_authoring | new_fp_authoring |
Логин администратора FP | old_fp_admin_login | new_fp_admin_login |
Пароль администратора FP | old_fp_admin_password | new_fp_admin_password |
Поддержка SSI | old_ssi_support | new_ssi_support |
Поддержка PHP | old_php_support | new_php_support |
Поддержка CGI | old_cgi_support | new_cgi_support |
Поддержка Mod Perl | old_mod_perl_support | new_mod_perl_support |
Поддержка Apache ASP | old_apache_asp_support | new_apache_asp_support |
Поддержка SSL | old_ssl_support | new_ssl_support |
Веб-статистика | old_web_statistics | new_web_statistics |
Персонализированные сообщения об ошибках | old_apache_error_documents | new_apache_error_documents |
Квота дискового пространства | old_hard_disk_quota | new_hard_disk_quota |
Для события «Физический хостинг удален»
доменное имя | old_domain_name | new_domain_name | обязательно
Для событий «Почтовое имя создано», «Почтовое имя удалено»
Почтовое имя | old_mailname | new_mailname | обязательно (в формате mailname@domain)
Для события «Почтовое имя обновлено»
Почтовое имя | old_mailname | new_mailname | обязательно (в формате mailname@domain)
Почтовый ящик | old_mailbox | new_mailbox |
Пароль | old_password | new_password |
Объем почтового ящика | old_mailbox_quota | new_mailbox_quota |
Пересылка | old_redirect | new_redirect |
Адрес пересылки | old_redirect_address | new_redirect_address |
Почтовая группа | old_mail_group | new_mail_group |
Автоответчики | old_autoresponders | new_autoresponders |
Доступ почтового пользователя к панели управления | old_mail_controlpanel_access | new_mail_controlpanel_access |
Для события «Веб-пользователь удален»
Доменное имя | old_domain_name | new_domain_name | обязательно
Имя веб-пользователя | old_webuser_name | new_webuser_name | обязательно
Для событий «Веб-пользователь создан», «Веб-пользователь обновлен»
Доменное имя | old_domain_name | new_domain_name | обязательно
Имя веб-пользователя | old_webuser_name | new_webuser_name | обязательно
Пароль веб-пользователя | old_webuser_password | new_webuser_password |
Поддержка SSI | old_ssi_support | new_ssi_support |
Поддержка PHP | old_php_support | new_php_support |
Поддержка CGI | old_cgi_support | new_cgi_support |
Поддержка Mod Perl | old_mod_perl_support | new_mod_perl_support |
Поддержка Mod Python | old_mod_python_support | new_mod_python_support |
Поддержка Apache ASP | old_apache_asp_support | new_apache_asp_support |
Квота дискового пространства | old_hard_disk_quota | new_hard_disk_quota |
Для события «Ограничения клиента обновлены»
Имя | old_contact_name | new_contact_name | обязательно
Максимальное количество доменов | old_maximum_domains | new_maximum_domains |
Максимальный объем дискового пространства | old_maximum_disk_space | new_maximum_disk_space |
Максимальный объем трафика | old_maximum_traffic | new_maximum_traffic |
Максимальное количество веб-пользователей | old_maximum_webusers | new_maximum_webusers |
Максимальное количество баз данных | old_maximum_databases | new_maximum_databases |
Максимальное количество почтовых ящиков | old_maximum_mailboxes | new_maximum_mailboxes |
Объем почтового ящика | old_maximum_mailbox_quota | new_maximum_mailbox_quota |
Максимальное количество почтовых ящиков для пересылки почты | old_maximum_mail_redirects | new_maximum_mail_redirects |
Максимальное количество почтовых групп | old_maximum_mail_groups | new_maximum_mail_groups |
Максимальное количество почтовых автоответчиков | old_maximum_mail_autoresponders | new_maximum_mail_autoresponders |
Максимальное количество списков рассылок | old_maximum_mail_lists | new_maximum_mail_lists |
Максимальное количество Java-приложений | old_maximum_tomcat_web_applications | new_maximum_tomcat_web_applications |
Дата истечения срока действия | old_expiration_date | new_expiration_date |
Для события «Ограничения домена обновлены»
Доменное имя | old_domain_name | new_domain_name | обязательно
Максимальный объем дискового пространства | old_maximum_disk_space | new_maximum_disk_space |
Максимальный объем трафика | old_maximum_traffic | new_maximum_traffic |
Максимальное количество веб-пользователей | old_maximum_webusers | new_maximum_webusers |
Максимальное количество баз данных | old_maximum_databases | new_maximum_databases |
Максимальное количество почтовых ящиков | old_maximum_mailboxes | new_maximum_mailboxes |
Объем почтового ящика | old_maximum_mailbox_quota | new_maximum_mailbox_quota |
Максимальное количество почтовых ящиков для пересылки почты | old_maximum_mail_redirects | new_maximum_mail_redirects |
Максимальное количество почтовых групп | old_maximum_mail_groups | new_maximum_mail_groups |
Максимальное количество почтовых автоответчиков | old_maximum_mail_autoresponders | new_maximum_mail_autoresponders |
Максимальное количество списков рассылок | old_maximum_mail_lists | new_maximum_mail_lists |
Максимальное количество Java-приложений | old_maximum_tomcat_web_applications | new_maximum_tomcat_web_applications |
Дата истечения срока действия | old_expiration_date | new_expiration_date |
Для событий «Почтовая рассылка создана», «Почтовая рассылка обновлена», «Почтовая рассылка удалена»
Доменное имя | old_domain_name | new_domain_name | обязательно
Имя почтовой рассылки | old_mail_list_name | new_mail_list_name | обязательно
Почтовая рассылка включена | old_mail_list_enabled | new_mail_list_enabled |
Для событий «Пользователь авторизовался в панели управления», «Пользователь вышел из панели управления»
Имя | old_contact_name | new_contact_name |
Для события «Учетная запись администратора обновлена»
Разрешить доступ администратору домена | old_allow_domain_user_access | new_allow_domain_user_access |
Логин | old_login_name | new_login_name | обязательно
Доменное имя | old_domain_name | new_domain_name | обязательно
Имя | old_contact_name | new_contact_name |
Наименование компании | old_company_name | new_company_name |
Телефон | old_phone | new_phone |
Факс | old_fax | new_fax |
E-mail | old_email | new_email |
Адрес | old_address | new_address |
Город | old_city | new_city |
Штат/провинция | old_state_province | new_state_province |
Почтовый индекс | old_postal_zip_code | new_postal_zip_code |
Страна | old_country | new_country |
Для событий «Веб-приложение установлено», «Веб-приложение перенастроено», «Веб-приложение удалено»
Название пакета веб-приложения | old_site_application_package_name | new_site_application_package_name | обязательно
Тип домена (домен или субдомен) | old_site_application_domain_type | new_site_application_domain_type | обязательно
Путь для установки (httpdocs или httpsdocs) | old_site_application_directory | new_site_application_directory | обязательно
Путь для установки в пределах целевого каталога | old_site_application_installation_prefix | new_site_application_installation_prefix | обязательно
Для событий «Пакет веб-приложения установлен», «Пакет веб-приложения удален»
Название пакета веб-приложения | old_site_application_package_name | new_site_application_package_name | обязательно
Для события «Служба остановлена, запущена, перезапущена»
Служба | old_service | new_service | обязательно
Для события «IP-адрес создан, изменен, удален»
IP-адрес | old_ip_address | new_ip_address | обязательно
Маска IP-адреса | old_ip_mask | new_ip_mask |
Интерфейс | old_interface | new_interface |
Тип IP-адреса | old_ip_type | new_ip_type |
Для события «IP-адрес создан, изменен, удален»
Доменное имя | old_domain_name | new_domain_name | обязательно
Тип перенаправления | old_forwarding_type | new_forwarding_type |
URL | old_url | new_url |
Для события «Сведения об администраторе изменены»
Логин | old_login_name | new_login_name | обязательно
Имя | old_contact_name | new_contact_name |
Наименование компании | old_company_name | new_company_name |
Телефон | old_phone | new_phone |
Факс | old_fax | new_fax |
E-mail | old_email | new_email |
Адрес | old_address | new_address |
Город | old_city | new_city |
Штат/провинция | old_state_province | new_state_province |
Почтовый индекс | old_postal_zip_code | new_postal_zip_code |
Страна | old_country | new_country |
Для события «Веб-приложение установлено, перенастроено, удалено»
Название веб-приложения | old_package_name | new_package_name | обязательно
Для события «Статус клиента обновлен»
Имя | old_contact_name | new_contact_name | обязательно
Имя | old_login_name | new_login_name | обязательно
Статус | old_status | new_status |
Для событий «Настройки клиента обновлены»
Имя | old_contact_name | new_contact_name | обязательно
Имя | old_login_name | new_login_name | обязательно
Размер страницы | old_lines_per_page | new_lines_per_page |
Схема оформления | old_interface_skin | new_interface_skin |
Для события «IP-пул клиента изменен»
Имя | old_contact_name | new_contact_name | обязательно
IP-адрес | old_ip_address | new_ip_address | обязательно
Статус | old_status | new_status |
Для события «Достигнуто ограничение по объему жесткого диска для учетной записи клиента»
Имя | old_contact_name | new_contact_name | обязательно
Ограничение по дисковому пространству | old_maximum_disk_space | new_maximum_disk_space | обязательно
Для событий «Достигнуто ограничение по объему трафика для учетной записи клиента»
Имя | old_contact_name | new_contact_name | обязательно
Ограничение по трафику | old_maximum_traffic | new_maximum_traffic |
Для события «Статус домена изменен»
Доменное имя | old_domain_name | new_domain_name | обязательно
Статус домена | old_status | new_status |
Для события «Зона DNS для домена обновлена»
Доменное имя | old_domain_name | new_domain_name | обязательно
Для события «Достигнуто ограничение по объему дискового пространства для домена»
Доменное имя | old_domain_name | new_domain_name | обязательно
Ограничение по дисковому пространству | old_maximum_disk_space | new_maximum_disk_space |
Для события «Достигнуто ограничение по объему трафика для домена»
Доменное имя | old_domain_name | new_domain_name | обязательно
Ограничение по трафику | old_maximum_traffic | new_maximum_traffic |
Для события «Лицензионный ключ обновлен»
Номер лицензионного ключа | old_license | new_license | обязательно
Тип лицензионного ключа (Plesk, дополнительный) | old_license_type | new_license_type |
Имя лицензионного ключа (для дополнительных ключей) | old_license_name | new_license_name |