添加事件處理常式 (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

如果您還想要指定一個或幾個處理常式,請重複以上操作。