例如,为“客户帐号创建”事件创建一个事件处理程序。处理程序将会接受在 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
此脚本将某些信息 print 到一个文件上,因此我们可以控制其执行(此脚本以后台模式执行,所以我们不能把信息输出到 stdout/stderr)。
注意: 我们强烈建议您使用 shell 脚本文件处理事件。尽管您可以分配直接的系统命令,但是可能无效。例如,带有输出重定向操作符 < or >
的命令可能无法实现。
假设我们的脚本位于目录 /plesk_installation_directory/bin
(例如)。
可通过管理面板创建一个事件处理程序来注册:
1.转入 工具与设置 > 事件管理器。
2.点击 添加事件处理程序
3.请在 事件 菜单中选择你要分配处理程序的事件。
4.为处理程序执行选择优先权,或指定一个自定义值。若要实现此目的,请在 优先级 菜单中选择自定义并输入值。
当为单个事件分配多个处理程序时,您可以指定处理程序执行的顺序,并设置不同的优先级(数值越高,优先级越高)。
5.选择系统用户(如:"root"用户),将要代表该用户执行处理程序(例如 root 用户)。
6.在 命令 输入字段中,指定选定事件发生时要执行的命令。在我们所举示例中,该命令是 /usr/local/psa/bin/test-handler.sh
。
7.点击 确定。
注意: 在此脚本中,我们已指定变量 $NEW_CONTACT_NAME 和 $NEW_LOGIN_NAME
。在执行处理程序的过程中,这些变量将分别被已创建的用户帐号的名称与用户名所替代。
现在如果您登录 Plesk 并创建一个客户帐户,在 联系人姓名 字段中指定值“Some Customer”,在 登录名 字段中指定 'some_customer'
,将会调用处理程序,且添加以下记录到 /tmp/event_handler.log:
/tmp/event_handler.log:
Fri Mar 16 15:57:25 NOVT 2007
uid=0(root) gid=0(root) groups=0(root)
customer created
name: Some Customer
login: some_customer
如果您还想要指定一个或几个处理程序,请重复以上操作。