所有的方法脚本(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 如下所示(使用的是 dns_monitor_stop 方法中的 pmfadm):
######################################################################### # 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 |