添加事件处理程序 (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
(例如)。可通过管理面板创建一个事件处理程序来注册:
- 转入 工具与设置 > 事件管理器。
- 点击 添加事件处理程序.
- 请在 事件 菜单中选择你要分配处理程序的事件。
- 为处理程序执行选择优先权,或指定一个自定义值。若要实现此目的,请在 优先级 菜单中选择自定义并输入值。
当为单个事件分配多个处理程序时,您可以指定处理程序执行的顺序,并设置不同的优先级(数值越高,优先级越高)。
- 选择系统用户(如:"root"用户),代表将要被执行的事件处理程序。
- 在 命令 输入字段中,指定选定事件发生时要执行的命令。在我们所举示例中它是
/usr/local/psa/bin/test-handler.sh
。 - 点击 确定。
注意: 在此脚本中,我们已指定变量 $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
如果您还想要指定一个或几个处理程序,请重复以上操作。