すべてのメソッドスクリプト(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 を定義します。なお、pmfadm と logger は dns_svc_stop のものを使用しています。
######################################################################### # MAIN ######################################################################### PMF_TAG=$RESOURCE_NAME.named SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # データサービスに SIGTERM シグナルを送り、タイムアウト値の80% # が経過するまで待機する。 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 ... # in.named が実行中であるかどうかを確認し、実行中であれば強制終了する。 if pmfadm -q $PMF_TAG.monitor; then pmfadm -s $PMF_TAG.monitor KILL |