Рассмотрим для примера создание обработчика событий для события «создание учетной записи клиента». К качестве первого параметра обработчик будет использовать имя клиента и логин клиента – в качестве второго. Для простоты воспользуемся сценарием 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
(например). Зарегистрируем его, создав обработчик событий через панель управления:
При назначении нескольких обработчиков для одного события Вы можете указать порядок выполнения обработчиков, настроив разные приоритеты (более высокое значение соответствует более высокому приоритету).
/usr/local/psa/bin/test-handler.sh<new_contact_name> <new_login_name>
.Примечание: В угловых скобках были указаны параметры команды <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 |
|
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 |
|
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 |
|
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 |
|