Давайте в качестве примера создадим обработчик для события «создание учетной записи клиента». Этот обработчик будет принимать имя и логин клиента Plesk из переменных среды. Для простоты воспользуемся 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 "customer created" >> /tmp/event_handler.log # информация о созданной учетной записи клиента
echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # имя клиента
echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # имя пользователя клиента в Plesk
echo "--------------" >> /tmp/event_handler.log
Этот скрипт заносит определенную информацию в файл, что позволяет следить за его выполнением (вывести информацию в stdout/stderr невозможно, так как скрипт выполняется в фоновом режиме).
Примечание. Мы настоятельно рекомендуем обрабатывать события с помощью shell-скриптов. Команды, в которых есть вызов системных утилит, могут не выполниться. Например, команды с операторами перенаправления вывода < или > работать не будут.
Допустим, наш скрипт расположен в папке /plesk_installation_directory/bin
. Зарегистрируем его, создав обработчик событий через Панель управления сервером:
Если вы решите назначить несколько обработчиков одному событию, то с помощью приоритетов можете указать, в каком порядке их следует запускать (более высокое значение соответствует более высокому приоритету).
/usr/local/psa/bin/test-handler.sh
.Примечание. В этом скрипте мы указали переменные $NEW_CONTACT_NAME и $NEW_LOGIN_NAME. При запуске обработчика они будут заменены на контактное имя и логин созданной учетной записи соответственно. Полный список доступных переменных приведен в Приложении В: Параметры событий, передаваемые обработчиками событий.
Теперь, если вы войдете в Plesk и создадите клиента, указав в поле Контактное имя значение 'Иван Иванов', а в поле Имя пользователя - 'иван_иванов', то будет вызван данный обработчик, а в файл /tmp/event_handler.log
добавятся следующие записи:
Fri Mar 16 15:57:25 NOVT 2007
uid=0(root) gid=0(root) groups=0(root)
customer created
name: Иван Иванов
login: иван_иванов
Чтобы создать еще один или несколько обработчиков, повторите перечисленные выше действия.