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.
 

125 lines
4.1 KiB

#!/bin/bash
#------------------------------------------------------------------------------------------------------------------
# Script : expl_dummy_script.sh
# Auteur : Doug Le Tough
# Date : 26-07-2017
# Version : 1.0.0
# Objet : Script d'exemple qui liste les VM définies dans son fichier de configuration
#
#------------------------------------------------------------------------------------------------------------------
# Mise a jour :
#
# 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production
#
#------------------------------------------------------------------------------------------------------------------
# Dependances : Aucune
#
#------------------------------------------------------------------------------------------------------------------
# Liste des options et arguments:
#
# @OPT: f:list_vm:list_vm:1/1:true:::
#
#------------------------------------------------------------------------------------------------------------------
# Liste des paramètres de configuration:
#
# DUMMY_VAR="Variable bidon pour test"
# TETALAB_VM[0]=sousetsukenlocal.tetalab.org
# TETALAB_VM[1]=jimmy.local.tetalab.org
# TETALAB_VM[2]=billy.local.tetalab.org
# TETALAB_VM[3]=marian.local.tetalab.org
# TETALAB_VM[4]=sonny.local.tetalab.org
# TETALAB_VM[5]=web.local.tetalab.org
#
#------------------------------------------------------------------------------------------------------------------
# Liste des erreurs:
#
# 2 | erreur | stop | ${ERROR}
#
#------------------------------------------------------------------------------------------------------------------
##
## Syntaxe :
## --------
##
## prompt> expl_dummy_script.sh [-list_vm false]
##
## ex:
## expl_dummy_script.sh
##
## Prérequis:
## ----------
## - Le script doit être executé par l'utilisateur asr sur sousetsuken
##
## Fonctionnement:
## ---------------
## Affiche sa configuration et liste les VM listées dans son fichier de configuration (TETALAB_VM[*]).
##
## Si l'option -list_vm est positionnée à false, le script ne fait qu'afficher sa configuration.
##
#------------------------------------------------------------------------------------------------------------------
# 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'éxiste pas !"
echo "Arrêt du script par sécurité"
exit 250
fi
source ${NC_EXPL_CFG}/init.conf
#------------------------------------------------------------------------------------------------------------------
# Fonctions
#------------------------------------------------------------------------------------------------------------------
function check_config
{
fct_message "Vérification de la configuration:" -color jaune
if [ ! -r ${SH_FICCFG} ]; then
ERROR="Fichier de configuration ${SH_FICCFG} absent ou illisible"
fct_erreur 2
fi
if [ ${#DUMMY_VAR} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: DUMMY_VAR"
fct_erreur 2
fi
if [ ${#TETALAB_VM[*]} -eq 0 ]; then
ERROR="Aucune VM définie dans le fichier de configuration"
fct_erreur 2
fi
fct_message " * DUMMY_VAR: ${DUMMY_VAR}"
INDEX=0
for VM in ${TETALAB_VM[@]}
do
fct_message " * VM[${INDEX}]: ${VM}"
INDEX=$(( INDEX+1 ))
done
}
function list_vm
{
if [ "${list_vm}" == "true" ]; then
fct_message "Liste des VM définies dans ${SH_FICCFG}:" -color jaune
INDEX=0
for VM in ${TETALAB_VM[@]}
do
fct_message " * VM[${INDEX}]: ${VM}"
INDEX=$(( INDEX+1 ))
done
fi
}
#------------------------------------------------------------------------------------------------------------------
# Traitement
#------------------------------------------------------------------------------------------------------------------
check_config
list_vm
fct_erreur 0