"Conversion README en markdown"

This commit is contained in:
Doug Le Tough 2017-07-21 11:37:57 +02:00
parent cbdb3a85ce
commit 5619851f8b

174
README.md
View File

@ -1,11 +1,10 @@
# Aide memoire pour l'écriture de script Bash sous le socle bash # Aide memoire pour l'écriture de scripts avec le socle bash
* Sommaire * Sommaire
* I - Arborescence du socle * I - Arborescence du socle
* II - Variables d'environement * II - Variables d'environement
* 1 - Variables globales * 1 - Variables globales
* 2 - Variables globales spécifiques * 2 - Variables de session
* 3 - Variables de session
* III - Utilisation du socle bash * III - Utilisation du socle bash
* 1 - Cartouche * 1 - Cartouche
* 1.1 Élements du cartouche * 1.1 Élements du cartouche
@ -38,107 +37,102 @@ Cette dernière est initialisée à la connexion par l'appel au script /etc/prof
Cette arborescence est utilisée pour tous scripts Bash ainsi que les variables d'environement qui Cette arborescence est utilisée pour tous scripts Bash ainsi que les variables d'environement qui
en découlent. en découlent.
Sous l'arborescence ${NC_EXPL_ROOT} on trouve les dossiers suivants : Sous l'arborescence ${NC_EXPL_ROOT} on trouve les dossiers suivants :
+-----------------+-----------------------------------------------------------------------------------------------+ +-----------------+-----------------------------------------------------------------------------------------------+
| Dossier | Description | | Dossier | Description |
+-----------------+-----------------------------------------------------------------------------------------------+ +-----------------+-----------------------------------------------------------------------------------------------+
| {Racine}/bin | Contient les binaires (scripts Bash et Ruby, eventuellement C) | | {Racine}/bin | Contient les binaires (scripts Bash) |
| {Racine}/conf | Contient les fichiers de configuration des scripts, ainsi que du socle | | {Racine}/conf | Contient les fichiers de configuration des scripts, ainsi que du socle |
| {Racine}/cpt | Contient les fichiers de comtpe rendu generes par les script (purge auto , 8 jours par defaut)| | {Racine}/cpt | Contient les fichiers de comtpe-rendus génerés par les script (purge auto, 8 jours par défaut)|
| {Racine}/dat | Contient les fichiers de donnees geres par les scripts | | {Racine}/dat | Contient les fichiers de données gérés par les scripts |
| {Racine}/hist | Contient l historique d execution des scripts (pas de purge) | | {Racine}/hist | Contient l'historique d'exécution des scripts (pas de purge) |
| {Racine}/lib | Contient les librairies charge a la connexion par le socle | | {Racine}/lib | Contient les bibliothèques chargées par le socle |
| {Racine}/log | Contient les fichiers de logs d execution des scripts (purge auto , 8 jours par defaut ) | | {Racine}/log | Contient les fichiers de logs d exécution des scripts (purge auto , 8 jours par défaut ) |
| {Racine}/man | Contient les fichiers d aide des scripts pour l utilitaire "man" | | {Racine}/man | Contient les fichiers d'aide des scripts pour l'utilitaire "man" |
| {Racine}/mod | Contient les fichiers modeles a usage des scripts | | {Racine}/mod | Contient les fichiers modèles (templates) à usage des scripts |
| {Racine}/msg | Contient les fichiers de message pour les scripts pour la librairie "fct_erreur" | | {Racine}/msg | Contient les fichiers de messages des scripts utilisés par la bibliothèque "fct_erreur" |
| {Racine}/tmp | Continet les fichiers temporaires des scripts du socle | | {Racine}/tmp | Contient les fichiers temporaires des scripts |
+-----------------+-----------------------------------------------------------------------------------------------+ +-----------------+-----------------------------------------------------------------------------------------------+
Note : Sous chaque dossier vous trouverez un fichier texte lisezmoi.txt decrivant l usage du repertoire. Note : Sous chaque dossier vous trouverez un fichier texte lisezmoi.txt decrivant l'usage du répertoire.
II - Variables d environement ## II - Variables d'environement
------------------------
Le socle utilise deux groupes de variables. Le premier dit "global" le second "de session". Le socle utilise deux groupes de variables. Le premier dit "global" le second "de session".
Sauf si explicite, les variables globales sont definies et exportees a la connexion. Elles sont donc utilisables Sauf si explicite, les variables globales sont définies et exportées à la connexion. Elles sont donc utilisables
par tous les scripts, mais elles ne sont pas modifiables. par tous les scripts, mais elles ne sont pas modifiables.
Les variables de session sont definies a l'execution d un script et lui sont propre. Les variables de session sont définies à l'execution d'un script et lui sont propres.
Cependent certaines d entre elles sont transmises au script enfant Cependent certaines d'entre elles sont transmises aux scripts enfants:
- SH_SESSION_ID, SH_FICLOG, SH_FICCPT, SH_RETENTION_CPT, SH_RETENTION_LOG, SH_NIV_DEBUG, SH_SILENCE, SH_AFF_SID - SH_SESSION_ID, SH_FICLOG, SH_FICCPT, SH_RETENTION_CPT, SH_RETENTION_LOG, SH_NIV_DEBUG, SH_SILENCE, SH_AFF_SID
Les variables de session sont modifiable a 2 niveaux. De facon global dans le fichier "init.conf" ou pour un script Les variables de session sont modifiable à 2 niveaux. De facon global dans le fichier "init.conf" ou pour un script
particulier dans le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf. La valeur definit dans "init.conf" seras utlisee sauf particulier dans le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf.
si elle as ete surchargee dans le fichier de configuration du script.
Il y a cependant une specificite pour SH_RETENTION_CPT et SH_RETENTION_LOG, ces variables sont defini une et une seul fois La valeur définie dans "init.conf" sera utlisée sauf si elle a été surchargée dans le fichier de configuration du
lors de la premiere initialisation. Ce qui signinfie qu'un script qui aurait surcharge ces variables, ignorera l initialisation script.
de ces variable si il est appeler par un autre script.
Il y a cependant une spécificite pour SH_RETENTION_CPT et SH_RETENTION_LOG:
- ces variables sont definies une et une seule fois lors de la première initialisation. Ce qui signinfie qu'un
script qui aurait surchargé ces variables, ignorera l'initialisation de ces variable si il est appelé par un
autre script.
1 - Variables globales generals ### 1 - Variables globales générales
+-------------------+----------------------------+
| Nom | Usage |
+-------------------+----------------------------+
| NC_EXPL_ROOT | Racine /opt/expl |
| EXPL_ROOT | Alias pour NC_EXPL_ROOT |
| NC_EXPL_BIN | Pointe vers {Racine}/bin |
| NC_EXPL_CFG | Pointe vers {Racine}/conf |
| NC_EXPL_CPT | Pointe vers {Racine}/cpt |
| NC_EXPL_DAT | Pointe vers {Racine}/dat |
| NC_EXPL_HST | Pointe vers {Racine}/hist |
| NC_EXPL_LIB | Pointe vers {Racine}/lib |
| NC_EXPL_LOG | Pointe vers {Racine}/log |
| NC_EXPL_MAN | Pointe vers {Racine}/man |
| NC_EXPL_MOD | Pointe vers {Racine}/mod |
| NC_EXPL_MSG | Pointe vers {Racine}/msg |
| NC_EXPL_TMP | Pointe vers {Racine}/tmp |
| RUBYLIB | vaut ${NC_EXPL_LIB} |
| NC_EXPL_SRVBATCH | Nom du serveur Batch |
+-------------------+----------------------------+
Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont definie dans le fichier "dtsi.sh" +-------------------+----------------------------+
Les autres variables NC_~ sont definie dans le fichier "profile_init.env" | Nom | Usage |
+-------------------+----------------------------+
| NC_EXPL_ROOT | Racine /opt/expl |
| EXPL_ROOT | Alias pour NC_EXPL_ROOT |
| NC_EXPL_BIN | Pointe vers {Racine}/bin |
| NC_EXPL_CFG | Pointe vers {Racine}/conf |
| NC_EXPL_CPT | Pointe vers {Racine}/cpt |
| NC_EXPL_DAT | Pointe vers {Racine}/dat |
| NC_EXPL_HST | Pointe vers {Racine}/hist |
| NC_EXPL_LIB | Pointe vers {Racine}/lib |
| NC_EXPL_LOG | Pointe vers {Racine}/log |
| NC_EXPL_MAN | Pointe vers {Racine}/man |
| NC_EXPL_MOD | Pointe vers {Racine}/mod |
| NC_EXPL_MSG | Pointe vers {Racine}/msg |
| NC_EXPL_TMP | Pointe vers {Racine}/tmp |
| RUBYLIB | vaut ${NC_EXPL_LIB} |
| NC_EXPL_SRVBATCH | Nom du serveur Batch |
+-------------------+----------------------------+
2 - Variables globales specifiques Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont définies dans le fichier "tetalab.sh"
2.1 Pour les serveurs BDD Les autres variables NC_* sont définies dans le fichier "profile_init.env"
+--------------------+------------------------------------------+
| Nom | Usage |
+--------------------+------------------------------------------+
| NC_EXPL_SQL | Pointe vers {Racine}/sql |
| NC_EXPL_DBTAB | Pointe vers le fichier .dbtab |
| NC_EXPL_DBEDITEUR | Vaut : "oracle" ou "postgres" ou "mysql" |
+--------------------+------------------------------------------+
Ces variables sont definie dans le fichier "profile_socle_database.env"
3 - Variables de session ### 2 - Variables de session
Cette liste n est pas exhaustive, seules les principales variables sont citees.
+--------------------+-------------------------------------------------------------------------------+
| Nom | Usage |
+--------------------+-------------------------------------------------------------------------------+
| SH_SESSION_ID | Numero unique d execution : <TimeStamp>_<PId> |
| SH_SILENCE | Acitve ou non l affichage des messages via fct_message. Par defaut vaut "non" |
| SH_PROG | Nom du script |
| SH_LOGUSER | Compte initial de connexion au serveur |
| SH_EXECUSER | Compte courant executant le script |
| SH_DIR | Dossier hebergeant le script |
| SH_PROG_VERSION | Version du script |
| SH_FICTRC | Pointe vers le fichier ${NC_EXPL_HST}/<Nom_du_script>.hist |
| SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/<Nom_du_script>.msg |
| SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf |
| SH_FICSEM | Pointe vers le fichier /dev/shm/<Nom_du_script>.sem |
| SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/<Nom_du_script>.log |
| SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/<Nom_du_script>.cpt |
| SH_NIV_DEBUG | Vaut 0 par defaut. Niveau d affichage dans les fichiers de trace |
| SH_RETENTION_CPT | Vaut 8 par defaut. Duree de retention en jours des fichiers de compte-rendu |
| SH_RETENTION_LOG | Vaut 8 par defaut. Duree de retention en jours des fichiers de trace |
+--------------------+-------------------------------------------------------------------------------+
Remarque : Les variables SH_SILENCE et SH_NIV_DEBUG sont controlees par les options "-s" et "-dbg" Cette liste n'est pas exhaustive, seules les principales variables sont citées.
si la gestion des options a ete activee.
+--------------------+-------------------------------------------------------------------------------+
| Nom | Usage |
+--------------------+-------------------------------------------------------------------------------+
| SH_SESSION_ID | Numero unique d'exécution : <TimeStamp>_<PID> |
| SH_SILENCE | Active ou non l'affichage des messages via fct_message. Par defaut vaut "non" |
| SH_PROG | Nom du script |
| SH_LOGUSER | Compte initial de connexion au serveur |
| SH_EXECUSER | Compte courant exécutant le script |
| SH_DIR | Dossier hébergeant le script |
| SH_PROG_VERSION | Version du script |
| SH_FICTRC | Pointe vers le fichier ${NC_EXPL_HST}/<Nom_du_script>.hist |
| SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/<Nom_du_script>.msg |
| SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf |
| SH_FICSEM | Pointe vers le fichier /dev/shm/<Nom_du_script>.sem |
| SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/<Nom_du_script>.log |
| SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/<Nom_du_script>.cpt |
| SH_NIV_DEBUG | Vaut 0 par défaut. Niveau d'affichage dans les fichiers de traces |
| SH_RETENTION_CPT | Vaut 8 par défaut. Duree de rétention en jours des fichiers de compte-rendus |
| SH_RETENTION_LOG | Vaut 8 par défaut. Duree de rétention en jours des fichiers de traces |
+--------------------+-------------------------------------------------------------------------------+
Remarque : Les variables SH_SILENCE et SH_NIV_DEBUG sont controlées par les options "-s" et "-dbg"
si la gestion des options a été activée.
III - Utilisation du socle bash III - Utilisation du socle bash