From 5619851f8b3fec6b83fb560d9613cfce220cb678 Mon Sep 17 00:00:00 2001 From: Doug Le Tough Date: Fri, 21 Jul 2017 11:37:57 +0200 Subject: [PATCH] "Conversion README en markdown" --- README.md | 174 ++++++++++++++++++++++++++---------------------------- 1 file changed, 84 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index 15ca333..51a8e59 100755 --- a/README.md +++ b/README.md @@ -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 * I - Arborescence du socle * II - Variables d'environement * 1 - Variables globales - * 2 - Variables globales spécifiques - * 3 - Variables de session + * 2 - Variables de session * III - Utilisation du socle bash * 1 - 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 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 | - +-----------------+-----------------------------------------------------------------------------------------------+ - | {Racine}/bin | Contient les binaires (scripts Bash et Ruby, eventuellement C) | - | {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}/dat | Contient les fichiers de donnees geres par les scripts | - | {Racine}/hist | Contient l historique d execution des scripts (pas de purge) | - | {Racine}/lib | Contient les librairies charge a la connexion par le socle | - | {Racine}/log | Contient les fichiers de logs d execution des scripts (purge auto , 8 jours par defaut ) | - | {Racine}/man | Contient les fichiers d aide des scripts pour l utilitaire "man" | - | {Racine}/mod | Contient les fichiers modeles a usage des scripts | - | {Racine}/msg | Contient les fichiers de message pour les scripts pour la librairie "fct_erreur" | - | {Racine}/tmp | Continet les fichiers temporaires des scripts du socle | - +-----------------+-----------------------------------------------------------------------------------------------+ ++-----------------+-----------------------------------------------------------------------------------------------+ +| Dossier | Description | ++-----------------+-----------------------------------------------------------------------------------------------+ +| {Racine}/bin | Contient les binaires (scripts Bash) | +| {Racine}/conf | Contient les fichiers de configuration des scripts, ainsi que du socle | +| {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 données gérés par les scripts | +| {Racine}/hist | Contient l'historique d'exécution des scripts (pas de purge) | +| {Racine}/lib | Contient les bibliothèques chargées par le socle | +| {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}/mod | Contient les fichiers modèles (templates) à usage des scripts | +| {Racine}/msg | Contient les fichiers de messages des scripts utilisés par la bibliothèque "fct_erreur" | +| {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". - Sauf si explicite, les variables globales sont definies et exportees a la connexion. Elles sont donc utilisables - par tous les scripts, mais elles ne sont pas modifiables. +Le socle utilise deux groupes de variables. Le premier dit "global" le second "de session". +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. - Les variables de session sont definies a l'execution d un script et lui sont propre. - Cependent certaines d entre elles sont transmises au script enfant - - 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 définies à l'execution d'un script et lui sont propres. +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 - Les variables de session sont modifiable a 2 niveaux. De facon global dans le fichier "init.conf" ou pour un script - particulier dans le fichier ${NC_EXPL_CFG}/.conf. La valeur definit dans "init.conf" seras utlisee sauf - 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 - lors de la premiere initialisation. Ce qui signinfie qu'un script qui aurait surcharge ces variables, ignorera l initialisation - de ces variable si il est appeler par un autre 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}/.conf. + +La valeur définie dans "init.conf" sera utlisée sauf si elle a été surchargée dans le fichier de configuration du +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 - +-------------------+----------------------------+ - | 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 | - +-------------------+----------------------------+ +### 1 - Variables globales générales - 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 - 2.1 Pour les serveurs BDD - +--------------------+------------------------------------------+ - | 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" | - +--------------------+------------------------------------------+ +Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont définies dans le fichier "tetalab.sh" +Les autres variables NC_* sont définies dans le fichier "profile_init.env" - Ces variables sont definie dans le fichier "profile_socle_database.env" - 3 - Variables de session - Cette liste n est pas exhaustive, seules les principales variables sont citees. - +--------------------+-------------------------------------------------------------------------------+ - | Nom | Usage | - +--------------------+-------------------------------------------------------------------------------+ - | SH_SESSION_ID | Numero unique d execution : _ | - | 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}/.hist | - | SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/.msg | - | SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/.conf | - | SH_FICSEM | Pointe vers le fichier /dev/shm/.sem | - | SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/.log | - | SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/.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 | - +--------------------+-------------------------------------------------------------------------------+ +### 2 - Variables de session - Remarque : Les variables SH_SILENCE et SH_NIV_DEBUG sont controlees par les options "-s" et "-dbg" - si la gestion des options a ete activee. +Cette liste n'est pas exhaustive, seules les principales variables sont citées. + ++--------------------+-------------------------------------------------------------------------------+ +| Nom | Usage | ++--------------------+-------------------------------------------------------------------------------+ +| SH_SESSION_ID | Numero unique d'exécution : _ | +| 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}/.hist | +| SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/.msg | +| SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/.conf | +| SH_FICSEM | Pointe vers le fichier /dev/shm/.sem | +| SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/.log | +| SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/.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