RGM ruft die Update-Methode auf, um eine laufende Ressource von der Änderung ihrer Eigenschaften zu benachrichtigen.
#!/bin/ksh # # Update-Methode für HA-DNS. # # Die Aktualisierungen der Eigenschaften an sich nimmt RGM vor. Aktualisierungen # betreffen nur den Fehler-Monitor, so dass diese Methode den Fehler-Monitor neu # starten muss. #pragma ident “@(#)dns_update 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.monitor SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # Feststellen, wo die Testsignal-Methode residiert, indem der Wert der # RT_BASEDIR-Eigenschaft der Ressource abgerufen wird. RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Wenn die Update-Methode aufgerufen wird, aktualisiert RGM den Wert der # Eigenschaft, die aktualisiert wird. Diese Methode muss prüfen, ob der # Fehler-Monitor (Testsignal) läuft. Falls ja, muss das Beenden erzwungen # und neu gestartet werden. if pmfadm -q $PMF_TAG.monitor; then # Beenden des bereits laufenden Monitors erzwingen pmfadm -s $PMF_TAG.monitor TERM if [ $? -ne 0 ]; then logger -p ${SYSLOG_FACILITY}.err -t [$SYSLOG_TAG] \ “${ARGV0} Monitor konnte nicht gestoppt werden” exit 1 else # DNS konnte erfolgreich gestoppt werden. Meldung protokollieren. logger -p ${SYSLOG_FACILITY}.info -t [$SYSLOG_TAG] \ “Monitor für HA-DNS erfolgreich gestoppt” fi # Monitor neu starten. pmfadm -c $PMF_TAG.monitor -n -1 -t -1 $RT_BASEDIR/dns_probe \ -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME -T $RESOURCETYPE_NAME if [ $? -ne 0 ]; then logger -p ${SYSLOG_FACILITY}.err -t [$SYSLOG_TAG]\ “${ARGV0} Monitor für HA-DNS konnte nicht neu gestartet werden “ exit 1 else logger -p ${SYSLOG_FACILITY}.info -t [$SYSLOG_TAG]\ “Monitor für HA-DNS erfolgreich neu gestartet” fi fi exit 0 |