Ajout de script exécuté à l'instance ou au reconfigure
Il est parfois nécessaire d'ajouter un script qui sera exécuté à l'instanciation ou au reconfigure du module.
EOLE met en place des mécanismes permettant d'exécuter des scripts avant ou après l'instanciation ou la reconfiguration.
Ces scripts doivent être dans l'un des répertoires suivants :
/usr/share/eole/preservice
: exécution avant l'arrêt des services ;/usr/share/eole/pretemplate
: exécution avant la templatisation des fichiers ;/usr/share/eole/postemplate
: exécution entre la templatisation des fichiers et le redémarrage des services ;/usr/share/eole/postservice
: exécution après le redémarrage des services.
Attention
Chacun des scripts doit respecter les contraintes exigées par l'outil run-parts
, et, en particulier :
- être exécutable ;
- être sans extension.
Truc & astuce
L'ensemble de ces scripts se jouent de façon alphanumérique.
Les scripts fournit par EOLE sont préfixés par des chiffres et un tiret :
root@scribe:/usr/share/eole/preservice# ll
total 28
drwxr-xr-x 2 root root 4096 sept. 28 10:24 ./
drwxr-xr-x 29 root root 4096 sept. 28 10:24 ../
-rwxr-xr-x 1 root root 387 sept. 28 09:16 00-anetwork*
-rwxr-xr-x 1 root root 464 sept. 7 15:08 00-bareoswebui*
-rwxr-xr-x 1 root root 500 juin 26 2015 00-save-sid*
-rwxr-xr-x 1 root root 702 sept. 7 15:36 00-web*
-rwxr-xr-x 1 root root 235 sept. 28 09:16 99-ifupdown*
root@scribe:/usr/share/eole/preservice#
Le type d'appel (instance ou reconfigure) est envoyé au script sous la forme d'un argument :
if [ "$1" == "instance" ]; then
echo "ce code n'est exécuté qu'à l'instance"
elif [ "$1" = "reconfigure" ] ;then
echo "ce code n'est exécuté qu'au reconfigure"
fi
Attention
Si le script quitte avec un autre code de retour que 0
, l'instance ou le reconfigure s'arrête immédiatement.
Il est donc préférable que le script soit de la forme :
# <<< SCRIPT >>>
exit 0