Cette méthode vérifie l'existence du répertoire spécifié par la propriété Rép_conf. Le gestionnaire RGM appelle Contrôle_détecteur chaque fois que la méthode SONDE bascule le service de données sur un nouveau noeud et contrôle les noeuds qui sont potentiellement des noeuds maîtres.
#!/bin/ksh # # Méthode de contrôle du détecteur du service de noms de domaine. # # Le gestionnaire RGM appelle cette méthode chaque fois que le système de détection # des pannes bascule le service de données vers un nouveau noeud. Contrôle_détecteur # appelle la méthode Validation pour vérifier # que le répertoire et les fichiers de configuration sont disponibles sur le nouveau noeud. #pragma ident “@(#)dns_monitor_check 1.1 00/05/24 SMI” ############################################################################### # Analysez les arguments du programme. # function parse_args # [args ...] { typeset opt while getopts `R:G:T:' opt do case “$opt” in R) # Nom de la ressource DNS. NOM_RESSOURCE=$OPTARG ;; G) # Nom du groupe de ressources dans lequel la ressource est # configurée. NOM_GROUPE_RESSOURCES=$OPTARG ;; T) # Nom du type de ressources. NOM_TYPE_RESSOURCES=$OPTARG ;; *) logger -p ${SYSLOG_FACILITY}.err \ -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \ “ERROR: Option $OPTARG unknown” exit 1 ;; esac done } ############################################################################### # MAIN ############################################################################## export PATH=/bin:/usr/bin:/usr/cluster/bin:/usr/sbin:/usr/proc/bin:$PATH # Obtenez la fonction syslog à utiliser pour consigner les messages. SYSLOG_FACILITY=`scha_cluster_get -O SYSLOG_FACILITY` # Analysez les arguments qui ont été transmis à cette méthode. parse_args “$@” PMF_TAG=$RESOURCE_NAME.named SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # Obtenez le nom complet de la méthode de validation à partir de la # propriété RÉP_BASE_TR du type de ressources. RÉP_BASE_TR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Obtenez le nom de la méthode de validation de cette ressource. MÉTHODE_VALIDATION=`scha_resource_get -O VALIDATE \ -R $RESOURCE_NAME -G $RESOURCEGROUP_NAMÈ # Obtenez la valeur de la propriété Rép_conf afin de démarrer le # service de données. Utilisez le nom de ressource et le groupe de ressources # entrés pour obtenir la valeur Rép_conf définie au moment de l'ajout de la ressource. config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAME Confdir` # scha_resource_get renvoie le type et la valeur des propriétés d'extension. # Utilisez awk pour obtenir uniquement la valeur de la propriété d'extension. # RÉP_CONFIG=`echo $config_info | awk `{print $2}'` # Appelez la méthode de validation pour pouvoir basculer le service de données # vers le nouveau noeud. $RT_BASEDIR/$VALIDATE_METHOD -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME \ -T $RESOURCETYPE_NAME -x Confdir=$CONFIG_DIR # Consignez un message indiquant que le contrôle du détecteur a réussi. if [ $? -eq 0 ]; then logger -p ${SYSLOG_FACILITY}.info -t [$SYSLOG_TAG] \ “${ARGV0} Monitor check for DNS successful.” exit 0 else logger -p ${SYSLOG_FACILITY}.err -t [$SYSLOG_TAG] \ “${ARGV0} Monitor check for DNS not successful.” exit 1 fi |