|
@@ -0,0 +1,108 @@
|
|
1
|
+#!/bin/bash
|
|
2
|
+##----------------------------------------------------------------------
|
|
3
|
+# Script : expl_deploy_socle.sh
|
|
4
|
+# Auteur : Doug Le Tough
|
|
5
|
+# Date : 22-07-2017
|
|
6
|
+# Version : 1.0.0
|
|
7
|
+# Objet : Déploiement du socle Bash à partir du répertoire fourni
|
|
8
|
+# sur la VM dont le nom est passé en option
|
|
9
|
+#
|
|
10
|
+#
|
|
11
|
+# ----------------------------------------------------------------------
|
|
12
|
+# Mise a jour :
|
|
13
|
+#
|
|
14
|
+# 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production
|
|
15
|
+#
|
|
16
|
+# ----------------------------------------------------------------------
|
|
17
|
+# Dependances : Aucune
|
|
18
|
+#
|
|
19
|
+#
|
|
20
|
+# ----------------------------------------------------------------------
|
|
21
|
+# Liste des options et arguments:
|
|
22
|
+#
|
|
23
|
+# @OPT: o:vm:vm:1/1::::
|
|
24
|
+# @OPT: o:socle_dir:socle_dir:1/1::::
|
|
25
|
+#
|
|
26
|
+# ----------------------------------------------------------------------
|
|
27
|
+# Liste des erreurs:
|
|
28
|
+#
|
|
29
|
+# 2 | erreur | stop | ${ERROR}
|
|
30
|
+#
|
|
31
|
+#-----------------------------------------------------------------------
|
|
32
|
+##
|
|
33
|
+## Syntaxe :
|
|
34
|
+## --------
|
|
35
|
+##
|
|
36
|
+## prompt> expl_deploy_socle.sh -vm <VM> -socle_dir <DIR>
|
|
37
|
+##
|
|
38
|
+## Prérequis:
|
|
39
|
+## ----------
|
|
40
|
+## - Le script doit être executé en tant qu'asr.
|
|
41
|
+## - Le socle doit avoir été cloné dans le homedir d'asr
|
|
42
|
+##
|
|
43
|
+## Fonctionnement:
|
|
44
|
+## ---------------
|
|
45
|
+## Installe le socle Bash à partir du répertoire passée en paramètre (socle_dir) sur la VM
|
|
46
|
+## dont le nom est recu en paramètre.
|
|
47
|
+##
|
|
48
|
+## Le paramètre socle_dir est un chemin relatif au homedir d'asr
|
|
49
|
+##
|
|
50
|
+##----------------------------------------------------------------------
|
|
51
|
+#-----------------------------------------------------------------------
|
|
52
|
+# Initialisation de l'environement
|
|
53
|
+#-----------------------------------------------------------------------
|
|
54
|
+
|
|
55
|
+source /etc/profile.d/tetalab.sh
|
|
56
|
+
|
|
57
|
+if [ ! -f ${NC_EXPL_CFG}/init.conf ]
|
|
58
|
+then
|
|
59
|
+ echo "Le fichier d'initialisation du socle \${NC_EXPL_CFG}/init.conf n'éxiste pas !"
|
|
60
|
+ echo "Arrêt du script par sécurité"
|
|
61
|
+ exit 250
|
|
62
|
+else
|
|
63
|
+ source ${NC_EXPL_CFG}/init.conf
|
|
64
|
+fi
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+#-----------------------------------------------------------------------
|
|
68
|
+# Fonctions
|
|
69
|
+#-----------------------------------------------------------------------
|
|
70
|
+
|
|
71
|
+function check_socle_dir
|
|
72
|
+{
|
|
73
|
+ if [ ! -d ${SOCLE_DIR} ]; then
|
|
74
|
+ ERROR="Erreur le répertoire ${SOCLE_DIR} n'existe pas"
|
|
75
|
+ fct_erreur 2
|
|
76
|
+ fi
|
|
77
|
+}
|
|
78
|
+
|
|
79
|
+function scp_socle_dir
|
|
80
|
+{
|
|
81
|
+ fct_message "Copie du socle dans ${SOCLE_DIR} sur ${vm}:" -color rose
|
|
82
|
+ scp -r ${SOCLE_DIR} ${vm}:${SOCLE_DIR}
|
|
83
|
+ RET_VAL=$?
|
|
84
|
+ if [ ! ${RET_VAL} -eq 0 ]; then
|
|
85
|
+ ERROR="Erreur lors de la copie du socle."
|
|
86
|
+ fct_erreur 2
|
|
87
|
+ fi
|
|
88
|
+}
|
|
89
|
+
|
|
90
|
+function install_socle
|
|
91
|
+{
|
|
92
|
+ fct_message "Installation du socle sur ${vm}:" -color rose
|
|
93
|
+ ssh ${vm} "cd ${SOCLE_DIR} && ./install.sh"
|
|
94
|
+ RET_VAL=$?
|
|
95
|
+ if [ ! ${RET_VAL} -eq 0 ]; then
|
|
96
|
+ ERROR="Erreur lors de l'installation du socle."
|
|
97
|
+ fct_erreur 2
|
|
98
|
+ fi
|
|
99
|
+}
|
|
100
|
+
|
|
101
|
+#-----------------------------------------------------------------------
|
|
102
|
+# Traitement
|
|
103
|
+#-----------------------------------------------------------------------
|
|
104
|
+
|
|
105
|
+SOCLE_DIR="${HOME}/${socle_dir}"
|
|
106
|
+check_socle_dir
|
|
107
|
+install_socle
|
|
108
|
+fct_erreur 0
|