Cette méthode vérifie l'existence du répertoire spécifié par la propriété Confidr. Le RGM appelle Monitor_check chaque fois que la méthode PROBE bascule le service de données sur un nouveau nœud et contrôle les nœuds qui sont potentiellement des nœuds maîtres.
#!/bin/ksh# # Méthode de contrôle du détecteur du service de noms de domaine. # # Le 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 nœud. Monitor_check appelle la méthode Validate pour vérifier # que le répertoire et les fichiers de configuration sont disponibles sur le nouveau nœud. #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. RESOURCE_NAME=$OPTARG ;; G) # Nom du groupe de ressources dans lequel la ressource est # configurée. RESOURCEGROUP_NAME=$OPTARG ;; T) # Nom du type de ressources. RESOURCETYPE_NAME=$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 Validate à partir de la # propriété RT_BASEDIR du type de ressources. RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Obtenez le nom de la méthode Validate de cette ressource. VALIDATE_METHOD=`scha_resource_get -O VALIDATE -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # Obtenez la valeur de la propriété Confdir 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 Confdir 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. CONFIG_DIR=`echo $config_info | awk `{print $2}'` # Appelez la méthode Validate pour pouvoir basculer le service de données # vers le nouveau nœud. $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 |