« LINUX:Systemd-Attente avant le lancement du service » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
(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 "/usr/lib/systemd/system". Dans notre exemple, nous allons traiter le cas du service "pacemaker.service".  
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 à 12:22


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