新增事件處理程式 (Linux 主機)

例如,為“客戶帳戶建立”事件建立事件處理程式。此處理程式將從環境變數處接收客戶名以及該客戶的登入名。簡單而言,我們將使用一個名為 test-handler.sh 的外殼指令碼,如下所示:

#!/bin/bash

echo "--------------" >> /tmp/event_handler.log

/bin/date >> /tmp/event_handler.log # 事件日期和時間相關資訊

/usr/bin/id >> /tmp/event_handler.log # 為確保控制而執行指令碼的使用者相關資訊

echo "client created" >> /tmp/event_handler.log # 已建立客戶帳戶相關資訊

echo "名稱:${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # 客戶名稱

echo "登入名:${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # 客戶登入名

echo "--------------" >> /tmp/event_handler.log


此指令碼將某些資訊列印到一個檔案上,因此我們可以控制其執行(此指令碼以後台模式執行,所以我們不能把資訊輸出到 stdout/stderr)。

假設我們的指令碼位於目錄 /parallels_plesk_panel_installation_directory/bin (例如)。那麼我們可以使用控制面板透過建立一個事件處理程式來註冊該指令碼:

  1. 前往“首頁 > 事件管理員
  2. 按一下“新增事件處理程式”。則會出現“事件處理程式設定”頁面。
  3. “事件”功能表中,選擇您想要為其分配處理程式的事件。
  4. 為處理程式執行選擇優先權,或指定一個自訂值。若要執行該操作,請“優先順序”功能表中選擇自訂,然後輸入所需值。

    當為單個事件分配多個處理程式時,您可以指定處理程式執行的順序,並設定不同的優先順序(數值越高,優先順序越高)。

  5. 選擇系統使用者(如:"root"使用者),代表將要被執行的事件處理程式。
  6. “指令”輸入欄位中,指定將要在所選事件上執行的指令。 在我們所舉範例中它是 /usr/local/psa/bin/test-handler.sh
  7. 按一下“確定”

注意:在此指令碼中,我們已指定變數 $NEW_CONTACT_NAME 和 $NEW_LOGIN_NAME。在執行處理程式之前,將分別用已建立的用戶端的名字和登入名取代它們。可用變數的完整清單將在後面的部分中提供。請記住,透過移除操作,未設定 $NEW_xxx 類型的變數。透過建立操作,未設定 $OLD_xxx 類型的參數。

現在,如果您登入到 Parallels Plesk Panel 並建立了一個新客戶(在“聯絡人姓名”欄位中輸入“Some Client”,在“登入欄位”中輸入“some_client”),那麼該事件處理程式將被呼叫,並且以下記錄將被新增至 /tmp/event_handler.log 中:

Fri Mar 16 15:57:25 NOVT 2008

uid=0(root) gid=0(root) groups=0(root)

client created

名稱:一些客戶

登入名:some_client

如果您想指定一或多個事件處理程式,請為其他處理程式重複上述操作即可。

如需設定事件處理程式所用的參數模板完整清單,請參閱 Parallels 網站上的《Parallels Plesk Panel 進階管理指南》。