所有方法程序檔 (Validate 除外) 均使用 pmfadm 啟動或停止資料服務或監視器,同時傳送資源名稱。每個程序檔均會定義變數 PMF_TAG,該變數可以被傳送至 pmfadm 以識別是資料服務還是監視器。
同樣地,每個方法程序檔均使用 logger 指令在系統記錄檔中記錄訊息。每個程序檔均定義變數 SYSLOG_TAG,可以透過 -t 選項將該變數傳送至 logger,以識別記錄訊息的資源之資源類型、資源名稱以及資源群組。
所有方法以相同方式定義 SYSLOG_TAG,如以下程式碼範例所示。dns_probe、dns_svc_start、dns_svc_stop 和 dns_monitor_check 方法如下定義 PMF_TAG (使用 dns_svc_stop 方法的 pmfadm 和 logger)。
#########################################################################
# MAIN
#########################################################################
PMF_TAG=$RESOURCE_NAME.named
SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME
# Send a SIGTERM signal to the data service and wait for 80% of the
# total timeout value.
pmfadm -s $PMF_TAG.named -w $SMOOTH_TIMEOUT TERM
if [ $? -ne 0 ]; then
logger -p ${SYSLOG_FACILITY}.info \
-t [$SYSLOG_TAG] \
“${ARGV0} Failed to stop HA-DNS with SIGTERM; Retry with \
SIGKILL”
dns_monitor_start、dns_monitor_stop 和 dns_update 方法如下定義 PMF_TAG (使用的 pmfadm 來自 dns_monitor_stop 方法)︰
##################################################################### # MAIN ##################################################################### PMF_TAG=$RESOURCE_NAME.monitor SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME ... # See if the monitor is running, and if so, kill it. if pmfadm -q $PMF_TAG.monitor; then pmfadm -s $PMF_TAG.monitor KILL