Добавление обработчиков событий (хостинг Linux)

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

#!/bin/bash

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

/bin/date >> /tmp/event_handler.log # информация о дате и времени события

/usr/bin/id >> /tmp/event_handler.log # информация о пользователе, от имени которого был выполнен сценарий (для контроля)

echo "client created" >> /tmp/event_handler.log # информация о созданной учетной записи клиента

echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # имя клиента

echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # логин клиента

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


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

В качестве примера предположим, что сценарий расположен в каталоге /каталог_установки_parallels_plesk_panel/bin. Зарегистрируем его, создав обработчик событий через панель управления:

  1. Перейдите в раздел Домашняя страница > Менеджер событий.
  2. Нажмите Добавить обработчик. Появится страница настройки обработчика событий.
  3. В меню Событие выберите событие, для которого требуется создать обработчик.
  4. Выберите приоритет, согласно которому будет осуществляться выполнение обработчика, или укажите произвольное значение. Для этого из меню Приоритет выберите опцию "другой" и введите значение.

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

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

Примечание: в сценарии мы указали переменные $NEW_CONTACT_NAME и $NEW_LOGIN_NAME. При запуске обработчика они будут заменены на имя и логин созданной учетной записи клиента соответственно. В следующем разделе приводится полный список доступных переменных. Следует помнить, что при операциях удаления переменные типа $NEW_xxx не устанавливаются. При операциях создания не устанавливаются параметры типа $OLD_xxx.

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

Fri Mar 16 15:57:25 NOVT 2007

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

client created

name: Some client

login: some_client

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

Полный список шаблонов параметров, которые можно использовать при настройке обработчика событий, представлен в расширенном руководстве администратора Parallels Plesk Panel, размещенном на веб-сайте Parallels.