添加事件处理程序 (Linux 主机)

例如,为“客户帐户创建”事件创建事件处理程序。此处理程序将从环境变量处接收客户名以及该客户的登录名。简单而言,我们将使用一个名为 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 "名称:${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # 客户名称

echo "登录名:${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # 客户登录名

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


此脚本将某些信息打印到一个文件上,因此我们可以控制其执行(此脚本以后台模式执行,所以我们不能把信息输出到 stdout/stderr)。

假设我们的脚本位于目录 /parallels_plesk_panel_installation_directory/bin (例如)。那么我们可以使用控制面板通过创建一个事件处理程序来注册该脚本:

  1. 转到“首页 > 事件管理器
  2. 单击“添加事件处理程序”。则会出现“事件处理程序设置”页面。
  3. “事件”菜单中,选择您想要为其分配处理程序的事件。
  4. 为处理程序执行选择优先权,或指定一个自定义值。若要执行该操作,请在“优先级”菜单中选择自定义,然后键入所需值。

    当为单个事件分配多个处理程序时,您可以指定处理程序执行的顺序,并设置不同的优先级(数值越高,优先级越高)。

  5. 选择系统用户(如:"root"用户),代表将要被执行的事件处理程序。
  6. “命令”输入字段中,指定将要在所选事件上执行的命令。 在我们所举示例中它是 /usr/local/psa/bin/test-handler.sh
  7. 单击“确定”

注意:在此脚本中,我们已指定变量 $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

名称:些客户

登录名:some_client

如果您想指定一或多个事件处理程序,请为其他处理程序重复上述操作即可。

如需设置事件处理程序所用的参数模板完整列表,请参阅 Parallels 网站上的《Parallels Plesk Panel 高级管理指南》。