L'ensemble des scripts et bibliothèques bash utilisés pour maintenir l'infrastructure du Tetalab. Ce socle Bash est une version légère et adaptée du socle Bash essentiellement développé par Emmanuel Confrère, éminent DBA Calédonien.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

87 lines
3.1 KiB

#!/bin/bash
#------------------------------------------------------------------------------------------------------------------
# Script : ctl_host_process.sh
# Auteur : Doug Le Tough
# Date : 23-07-2017
# Version : 1.0.0
# Objet : Vérifie sur la VM dont le nom est passée en option la présence d'un processus
# dont le nom est passé en option
#
#------------------------------------------------------------------------------------------------------------------
# Mise a jour :
#
# 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production
#
#------------------------------------------------------------------------------------------------------------------
# Liste des options et arguments:
#
# @OPT: o:vm:vm:1/1::::
# @OPT: o:process:process:1/1::::
#
#------------------------------------------------------------------------------------------------------------------
# Liste des erreurs:
#
# 1 | erreur | stop | Processus inexistant sur ${vm}
# 2 | erreur | stop | ${ERROR}
# 3 | erreur | continu | ${ERROR}
#
#------------------------------------------------------------------------------------------------------------------
##
## Syntaxe :
## --------
##
## prompt> ctl_host_process.sh -vm <VM> -process <PROCESS>
##
## ex:
## ctl_host_process.sh -vm sousetsuken -process /usr/sbin/httpd
##
## Prérequis:
## ----------
## - Le script doit être executé par l'utilisateur asr sur sousetsuken
##
## Fonctionnement:
## ---------------
## Depuis sousetsuken se connecte sur la VM dont le nom est passé en option et vérifie la présence du
## du processus à l'aide de pidof
##
## Renvoie le code de sortie 1 si le process n'existe pas sur la VM et 0 dans le cas contraire.
##
#------------------------------------------------------------------------------------------------------------------
# Initialisation de l'environement
#------------------------------------------------------------------------------------------------------------------
if [ "${USER}" != "asr" ]; then
ERROR="Seul l'utilisateur asr peut utiliser ce script"
echo -e "\033[91m${ERROR}\033[0m"
exit 1
fi
source /etc/profile.d/tetalab.sh
if [ ! -f ${NC_EXPL_CFG}/init.conf ]; then
echo "Le fichier d'initialisation du socle \${NC_EXPL_CFG}/init.conf n'existe pas !"
echo "Arrêt du script par sécurité"
exit 250
fi
source ${NC_EXPL_CFG}/init.conf
#------------------------------------------------------------------------------------------------------------------
# Fonctions
#------------------------------------------------------------------------------------------------------------------
function check_process
{
fct_message "Vérification de la présence du processus ${process} sur ${vm}:"
PID=$(ssh ${vm} "pidof ${process}")
if [ ${#PID} -eq 0 ]; then
fct_erreur 1
fi
}
#------------------------------------------------------------------------------------------------------------------
# Traitement
#------------------------------------------------------------------------------------------------------------------
check_process
fct_erreur 0