LINUX:Systemd-Attente avant le lancement du service

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de Systemd


But

Dans certains cas, il est utile d'attendre un certain temps avant que le service ne se lance.

J'ai rencontré ce cas lors du démarrage de la machine; le service Pacemaker ne se lançait pas toujours en cause les couches réseaux pas encore intégralement lancées.

La solution, lancer le service quand le serveur a fini toutes ses étapes à effectuer lors de son lancement. Ma machine prend environ 30s; nous attendrons arbitrairement 1min.


Mise en oeuvre

Les définitions des services du système se trouvent dans le répertoire "/etc/systemd/system". Dans notre exemple, nous allons traiter le cas du service "pacemaker.service".

Pour pouvoir le décaler dans le temps, on crée un nouveau fichier portant le même nom que celui du service mais dont l'extension est ".timer". Ce fichier se nommera donc "pacemaker.timer" et permettra de lancer le service concerné avec un délai d'une minute après le lancement de la machine.

Voici son contenu:


[Unit]
Description=Timer for the pacemaker service
 
[Timer]
OnBootSec=1min
 
[Install]
WantedBy=timers.target


Activation

Comme nous avons modifié un des fichiers de configuration du processus Systemd, il faut les recharger:

systemctl daemon-reload

Pour son activation, il faut en premier lieu désactiver le service Pacemaker selon notre exemple:

systemctl disable pacemaker.service

Ensuite on peut activer la modification apportée:

systemctl enable pacemaker.timer





retour au menu de Systemd