Diese Methode überprüft das Vorhandensein des Verzeichnisses, auf das die Confdir-Eigenschaft zeigt. RGM ruft jedesmal Monitor_check auf, wenn die PROBE-Methode ein Failover des Datendienstes auf einen neuen Knoten ausführt, und prüft auch Knoten, die potenzielle Master sind.
#!/bin/ksh # # Monitor-Prüfmethode für DNS. # # RGM ruft diese Methode immer dann auf, wenn der Fehler-Monitor für den # Datendienst ein Failover auf einen neuen Knoten ausführt. Monitor_check ruft # die Validate-Methode auf, um zu prüfen, ob das Konfigurationsverzeichnis # und die -dateien auf dem neuen Knoten verfügbar sind. #pragma ident “@(#)dns_monitor_check 1.1 00/05/24 SMI” ############################################################################### # Programmargumente analysieren. # function parse_args # [args ...] { typeset opt while getopts `R:G:T:' opt do case “$opt” in R) # Name der DNS-Ressource. RESOURCE_NAME=$OPTARG ;; G) # Name der Ressourcengruppe, in der die Ressource # konfiguriert ist. RESOURCEGROUP_NAME=$OPTARG ;; T) # Name des Ressourcentyps. RESOURCETYPE_NAME=$OPTARG ;; *) logger -p ${SYSLOG_FACILITY}.err \ -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \ “FEHLER: Option $OPTARG unbekannt” exit 1 ;; esac done } ############################################################################### # MAIN ############################################################################## export PATH=/bin:/usr/bin:/usr/cluster/bin:/usr/sbin:/usr/proc/bin:$PATH # syslog-Funktion abrufen, mit der Meldungen protokolliert werden. SYSLOG_FACILITY=`scha_cluster_get -O SYSLOG_FACILITY` # Argumente analysieren, die an diese Methode übergeben wurden. parse_args “$@” PMF_TAG=$RESOURCE_NAME.named SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # Vollständigen Pfad für die Validate-Methode aus der # RT_BASEDIR-Eigenschaft des Ressourcentyps abrufen. RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Namen der Validate-Methode für diese Ressource abrufen. VALIDATE_METHOD=`scha_resource_get -O VALIDATE \ -R $RESOURCE_NAME -G $RESOURCEGROUP_NAMÈ # Wert für die Confdir-Eigenschaft zum Starten des Datendienstes abrufen. # Den eingegebenen Ressourcennamen und die Ressourcengruppe zum Abrufen des # Confdir-Wertes verwenden, der bei Hinzufügen der Ressource eingestellt wurde. config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME Confdir` # scha_resource_get gibt sowohl den Typ als auch den Wert von # Erweiterungseigenschaften zurück. awk verwenden, um nur den Wert der # Erweiterungseigenschaft abzurufen. CONFIG_DIR=`echo $config_info | awk `{print $2}'` # Validate-Methode aufrufen, damit für den Datendienst ein erfolgreiches Failover # auf den neuen Knoten ausgeführt werden kann. $RT_BASEDIR/$VALIDATE_METHOD -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME \ -T $RESOURCETYPE_NAME -x Confdir=$CONFIG_DIR # Meldung protokollieren, die angibt, dass die Monitor-Prüfung erfolgreich war. if [ $? -eq 0 ]; then logger -p ${SYSLOG_FACILITY}.info -t [$SYSLOG_TAG] \ “${ARGV0} Monitor-Prüfung für DNS erfolgreich.” exit 0 else logger -p ${SYSLOG_FACILITY}.err -t [$SYSLOG_TAG] \ “${ARGV0} Monitor-Prüfung für DNS nicht erfolgreich.” exit 1 fi |