« LINUX:Systemd-Attente avant le lancement du service » : différence entre les versions
(Page créée avec « ---- ''→ retour au menu de Systemd'' ---- __FORCETOC__ =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 machi... ») |
Aucun résumé des modifications |
||
Ligne 12 : | Ligne 12 : | ||
=Mise en oeuvre= | =Mise en oeuvre= | ||
Les définitions des services du système se trouvent dans le répertoire "/ | 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. | 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. |
Dernière version du 15 juin 2023 à 11:22
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