2017-07-22 14:58:30 +11:00
|
|
|
#!/bin/bash
|
|
|
|
##----------------------------------------------------------------------
|
|
|
|
# Script : expl_deploy_socle.sh
|
|
|
|
# Auteur : Doug Le Tough
|
|
|
|
# Date : 22-07-2017
|
|
|
|
# Version : 1.0.0
|
|
|
|
# Objet : Déploiement du socle Bash à partir du répertoire fourni
|
|
|
|
# sur la VM dont le nom est passé en option
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Mise a jour :
|
|
|
|
#
|
|
|
|
# 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Dependances : Aucune
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Liste des options et arguments:
|
|
|
|
#
|
|
|
|
# @OPT: o:vm:vm:1/1::::
|
|
|
|
# @OPT: o:socle_dir:socle_dir:1/1::::
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Liste des erreurs:
|
|
|
|
#
|
|
|
|
# 2 | erreur | stop | ${ERROR}
|
|
|
|
#
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
##
|
|
|
|
## Syntaxe :
|
|
|
|
## --------
|
|
|
|
##
|
|
|
|
## prompt> expl_deploy_socle.sh -vm <VM> -socle_dir <DIR>
|
|
|
|
##
|
|
|
|
## Prérequis:
|
|
|
|
## ----------
|
|
|
|
## - Le script doit être executé en tant qu'asr.
|
|
|
|
## - Le socle doit avoir été cloné dans le homedir d'asr
|
|
|
|
##
|
|
|
|
## Fonctionnement:
|
|
|
|
## ---------------
|
|
|
|
## Installe le socle Bash à partir du répertoire passée en paramètre (socle_dir) sur la VM
|
|
|
|
## dont le nom est recu en paramètre.
|
|
|
|
##
|
|
|
|
## Le paramètre socle_dir est un chemin relatif au homedir d'asr
|
|
|
|
##
|
|
|
|
##----------------------------------------------------------------------
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
# Initialisation de l'environement
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
|
2017-07-22 15:07:42 +11:00
|
|
|
if [ ! $(id -u) -eq 0 ]; then
|
|
|
|
ERROR="Seul l'utilisateur root peut utiliser ce script"
|
|
|
|
echo -e "\033[91m${ERROR}\033[0m"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2017-07-22 14:58:30 +11:00
|
|
|
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
|
|
|
|
else
|
|
|
|
source ${NC_EXPL_CFG}/init.conf
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
# Fonctions
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
function check_socle_dir
|
|
|
|
{
|
2017-07-22 15:10:34 +11:00
|
|
|
if [ ! -d ${socle_dir} ]; then
|
|
|
|
ERROR="Erreur le répertoire ${socle_dir} n'existe pas"
|
2017-07-22 14:58:30 +11:00
|
|
|
fct_erreur 2
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function scp_socle_dir
|
|
|
|
{
|
2017-07-22 15:10:34 +11:00
|
|
|
fct_message "Copie du socle dans ${socle_dir} sur ${vm}:" -color rose
|
|
|
|
scp -r ${socle_dir} ${vm}:${socle_dir}
|
2017-07-22 14:58:30 +11:00
|
|
|
RET_VAL=$?
|
|
|
|
if [ ! ${RET_VAL} -eq 0 ]; then
|
|
|
|
ERROR="Erreur lors de la copie du socle."
|
|
|
|
fct_erreur 2
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_socle
|
|
|
|
{
|
|
|
|
fct_message "Installation du socle sur ${vm}:" -color rose
|
2017-07-22 15:10:34 +11:00
|
|
|
ssh ${vm} "cd ${socle_dir} && ./install.sh"
|
2017-07-22 14:58:30 +11:00
|
|
|
RET_VAL=$?
|
|
|
|
if [ ! ${RET_VAL} -eq 0 ]; then
|
|
|
|
ERROR="Erreur lors de l'installation du socle."
|
|
|
|
fct_erreur 2
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
# Traitement
|
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
check_socle_dir
|
|
|
|
install_socle
|
|
|
|
fct_erreur 0
|