添加事件处理程序 (Linux)

例如,为“客户帐号创建”事件创建一个事件处理程序。处理程序将会接受在 Plesk 中来自环境变量的客户名称和用户名。为了简单,我们使用一个 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 "customer created" >> /tmp/event_handler.log # information on the created customer account

echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # customer's name

echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # customer's username in Plesk

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

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

注意: 我们强烈建议您使用 shell 脚本文件处理事件。尽管您可以分配直接的系统命令,但是可能无效。例如,带有输出重定向操作符 < or > 的命令可能无法实现。

假设我们的脚本位于目录 /plesk_installation_directory/bin(例如)。可通过管理面板创建一个事件处理程序来注册:

  1. 转入 工具与设置 > 事件管理器
  2. 点击 添加事件处理程序.
  3. 请在 事件 菜单中选择你要分配处理程序的事件。
  4. 为处理程序执行选择优先权,或指定一个自定义值。若要实现此目的,请在 优先级 菜单中选择自定义并输入值。

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

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

注意: 在此脚本中,我们已指定变量 $NEW_CONTACT_NAME 和 $NEW_LOGIN_NAME。在处理程序的执行过程中,这些将分别被已创建的用户帐号的名称与用户名所替代。欲了解所有可用的变量可参阅 附录 C:事件处理程序通过的事件参数

现在如果您登录 Plesk 并创建一个客户帐户,在 联系名称 字段中指定“某个客户”,在 登录名 字段中指定 'some_customer',处理程序将会被调用,以下记录将会被添加到 /tmp/event_handler.log

Fri Mar 16 15:57:25 NOVT 2007

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

已创建的客户

名称:Some Customer

登录名:some_customer

如果您还想要指定一个或几个处理程序,请重复以上操作。