Browse code

Creation/suppression auto et systematique du repertoire SH_TMPDIR

Doug Le Tough authored on 19/02/2018 08:49:32
Showing 3 changed files
... ...
@@ -28,6 +28,7 @@
28 28
 #                                                  la fonction logname ne renvoi rien ?
29 29
 #  2.1.2    29-06-2017 - Emmanuel Confrere - Ano : Erreur : logname() renvoi null si connexion via sshd
30 30
 #                                                  Remplacement de logname() par /etc/proc/self/loginuid
31
+#  2.2.0    19-02-2018 - Doug Le Tough     - Evo : Definition de ${SH_TMP_DIR} constitue de ${NC_EXPL_TMP}/${SH_SESSION_ID}
31 32
 ## -----------------------------------------------------------------------------
32 33
 ## Ce fichier contient les varaibles de fonctionement commune au script du socle
33 34
 ## Il est charge systematiquement au debut de chaque script
... ...
@@ -109,9 +110,12 @@ SH_CPT_SEMAPHORE=1                                      # Valeur d execution du
109 109
 # - Connection a la base de referencement
110 110
 [ -z "${SH_CNX_REF}" ] && SH_CNX_REF=${SH_CNX_REF:="cmdb/IRji_5#1O@refpro"}
111 111
 
112
+# - Definition du repertoire temporaire ${SH_TMPDIR}
113
+SH_TMP_DIR="${NC_EXPL_TMP}/${SH_SESSION_ID}"
114
+
112 115
 # Globalisation des variables
113 116
 export SH_FICLOG SH_FICCPT SH_CNX_REF SH_INDENT_MSG SH_SESSION_ID SH_NIV_DEBUG SH_SILENCE
114
-export SH_RETENTION_CPT SH_RETENTION_LOG SH_LOGUSER SH_EXECUSER
117
+export SH_RETENTION_CPT SH_RETENTION_LOG SH_LOGUSER SH_EXECUSER SH_TMP_DIR
115 118
 
116 119
 # - Chargement de l'environement specifique au script
117 120
 if [ -f ${SH_FICCFG} ]
... ...
@@ -34,6 +34,7 @@
34 34
 # 1.2.1    10-03-2017 - Emmanuel Confrere - Ano : Suppression des variables NC_EXPL_*
35 35
 # 1.2.2    06-04-2017 - Emmanuel Confrere - Ano : Degradation de performance serveur (Cf. DBA-2458)
36 36
 #                                                 Suppression de la commande "find"
37
+# 1.3.0    19-02-2017 - Doug Le Tough     - Evo : Suppression systematique du repertoire ${SH_TMP_DIR} en fin de script
37 38
 ##----------------------------------------------------------------------------
38 39
 
39 40
 function fct_erreur
... ...
@@ -98,6 +99,7 @@ case "${L_Cmd}" in
98 98
             if [ -n "${NC_EXPL_TMP}" -a -n "${SH_SESSION_ID}" -a "${NC_EXPL_TMP}" != "/" -a "${NC_EXPL_TMP}" != "." ]
99 99
             then
100 100
                 rm -f "${NC_EXPL_TMP}/*${SH_SESSION_ID}*"
101
+                rm -Rf ${SH_TMP_DIR}
101 102
             else
102 103
                 fct_message -debug 0 "<lib:fct_erreur> Variable de session incoherente : NC_EXPL_TMP = ${NC_EXPL_TMP} & SH_SESSION_ID = ${SH_SESSION_ID}"
103 104
             fi
... ...
@@ -49,8 +49,19 @@
49 49
 #                                                 Les variables SH_ARGS et SH_ARG_<option> ou leur representant defini dans la declaration
50 50
 #                                                 des option et argument (@ARG: et @OPT:) peuvent etre surcharge dans le fichier de configuration.
51 51
 # 3.0.1    26-11-2017 - Doug Le Tough     - Ano : La construction de L_PARMF ne permet pas de differencier les differentes execution d'un meme script
52
+# 3.1.0    19-02-2018 - Doug Le Tough     - Evo : Creation automatique et systematique du repertoire temporaire ${SH_TMPDIR} consitue de ${NC_EXPL_TMP}/${SH_SESSION_ID}
52 53
 ##----------------------------------------------------------------------------
53 54
 
55
+function fct_mk_tmp_dir
56
+{
57
+  mkdir -p ${NC_EXPL_TMP}/${SH_SESSION_ID}
58
+  RET_VAL=$?
59
+  if [ ! ${RET_VAL} -eq 0 ]; then
60
+    fct_message "Erreur lors de la creation du repertoire temporaire" -color rouge 
61
+    fct_erreur 254
62
+  fi
63
+}
64
+
54 65
 function fct_params
55 66
 {
56 67
 local L_PROG=${SH_DIR}/${SH_PROG} # Nom absolu du script 
... ...
@@ -583,7 +594,8 @@ then
583 583
       (( L_IDX-- ))
584 584
     done
585 585
     fct_erreur 254
586
-fi 
586
+fi
587
+fct_mk_tmp_dir
587 588
 return 0
588 589
 }
589 590