添加事件处理程序 (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。在处理程序的执行过程中,这些将分别被已创建的用户帐号的名称与用户名所替代。可在小节事件处理程序通过的事件参数里获得可用变量的整个列表。

现在如果您登录 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

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

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.