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