112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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é avec les droits root
 | |
| ##
 | |
| ## 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.
 | |
| ## 
 | |
| ##----------------------------------------------------------------------
 | |
| #-----------------------------------------------------------------------
 | |
| #                     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
 | |
| else
 | |
|   source ${NC_EXPL_CFG}/init.conf
 | |
| fi
 | |
| 
 | |
| 
 | |
| #-----------------------------------------------------------------------
 | |
| #  Fonctions
 | |
| #-----------------------------------------------------------------------
 | |
| 
 | |
| function check_socle_dir
 | |
| {
 | |
|   if [ ! -d ${socle_dir} ]; then
 | |
|     ERROR="Erreur le répertoire ${socle_dir} n'existe pas"
 | |
|     fct_erreur 2
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function scp_socle_dir
 | |
| {
 | |
|   fct_message "Copie du socle dans ${socle_dir} sur ${vm}:" -color rose
 | |
|   scp -r ${socle_dir} ${vm}:${socle_dir}
 | |
|   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
 | |
|   ssh ${vm} "cd ${socle_dir} && sudo ./install.sh"
 | |
|   RET_VAL=$?
 | |
|   if [ ! ${RET_VAL} -eq 0 ]; then
 | |
|     ERROR="Erreur lors de l'installation du socle."
 | |
|     fct_erreur 2
 | |
|   fi
 | |
| }
 | |
| 
 | |
| #-----------------------------------------------------------------------
 | |
| # Traitement
 | |
| #-----------------------------------------------------------------------
 | |
| 
 | |
| check_socle_dir
 | |
| scp_socle_dir
 | |
| install_socle
 | |
| fct_erreur 0
 |