Este método verifica la existencia del directorio al que señala la propiedad Confdir. RGM invoca Monitor_check cuando el método PROBE realiza una operación de recuperación de fallos del servicio de datos a un nodo nuevo y para comprobar los nodos que son maestros potenciales.
#!/bin/ksh# # Método Monitor check para DNS. # # RGM invoca este método cuando el supervisor de fallos realice una recuperación # de fallos del servicio de datos a un nodo nuevo. Monitor_check invoca el método # Validate para comprobar si el directorio y los archivos de configuración están # disponibles en el nuevo nodo. #pragma ident “@(#)dns_monitor_check 1.1 00/05/24 SMI” ############################################################################### # Analizar argumentos de programa. function parse_args # [args ...] { typeset opt while getopts `R:G:T:' opt do case “$opt” in R) # Nombre del recurso DNS. RESOURCE_NAME=$OPTARG ;; G) # Nombre del grupo de recursos en el que se ha configurado # el recurso. RESOURCEGROUP_NAME=$OPTARG ;; T) # Nombre del tipo de recurso. RESOURCETYPE_NAME=$OPTARG ;; *) logger -p ${SYSLOG_FACILITY}.err \ -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \ “ERROR: Opción $OPTARG desconocida” exit 1 ;; esac done } ############################################################################### # MAIN ############################################################################## export PATH=/bin:/usr/bin:/usr/cluster/bin:/usr/sbin:/usr/proc/bin:$PATH # Obtener el recurso syslog que hay que utilizar para registrar mensajes. SYSLOG_FACILITY=`scha_cluster_get -O SYSLOG_FACILITY` # Analizar los argumentos que se han pasado a este método. parse_args “$@” PMF_TAG=$RESOURCE_NAME.named SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # Obtener la ruta completa del método Validate desde la # propiedad RT_BASEDIR del tipo de recurso. RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Obtener el nombre del método Validate para este recurso. VALIDATE_METHOD=`scha_resource_get -O VALIDATE -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Obtener el valor de la propiedad Confdir para iniciar el servicio de # datos. Utilizar el nombre de recurso y grupo de recursos introducidos # para obtener el valor Confdir establecido al agregar el recurso. config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAME Confdir` # scha_resource_get rdevuelve el tipo y el valor para las propiedades de # pextensión. Usar awk para obtener sólo el valor de la propiedad de extensión. CONFIG_DIR=`echo $config_info | awk `{print $2}'` # Invocar el método Validate para que el servicio de datos se pueda # recuperar de un fallo a otro nodo satisfactoriamente. $RT_BASEDIR/$VALIDATE_METHOD -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME \ -T $RESOURCETYPE_NAME -x Confdir=$CONFIG_DIR # Registrar un mensaje que indique que la comprobación del supervisor # ha sido satisfactoria. if [ $? -eq 0 ]; then logger -p ${SYSLOG_FACILITY}.info -t [$SYSLOG_TAG] \ “${ARGV0} Comprobación del supervisor para DNS satisfactoria.” exit 0 else logger -p ${SYSLOG_FACILITY}.err -t [$SYSLOG_TAG] \ “${ARGV0} Comprobación del supervisor para DNS no satisfactoria.” exit 1 fi |