19
0
Fork 0

Ajout modèle unité systemd

This commit is contained in:
whirigoyen 2022-07-28 16:09:24 +02:00
parent 42ed0dce42
commit 0444a862de
1 changed files with 45 additions and 4 deletions

View File

@ -170,6 +170,7 @@ Redémarrer le serveur :
<https://www.freedesktop.org/software/systemd/man/systemd.service.html>
### Modifier une unité
~~~
@ -178,7 +179,7 @@ Redémarrer le serveur :
# systemctl daemon-reload
~~~
Exemple avec ssh.service sous Debian 8 :
Exemple avec `ssh.service` sous Debian 8 :
~~~
[Unit]
@ -205,6 +206,7 @@ Alias=sshd.service
> ExecStart=/bin/sh -c '/path/to/program >> /path/to/log'
> ```
### Modifier partiellement une unité
Au lieu de tout ré-écrire, on peut surcharger une partie de l'unité en créant un fichier dans `/etc/systemd/system/NOM_UNITÉ.service.d/` qui précisera les modifications à faire. Exemple avec l'unité de _varnish_ on crée le fichier `/etc/systemd/system/varnish.service.d/override.conf` :
@ -231,7 +233,7 @@ On pourra ensuite lister l'unité complète vue par _systemd_ :
# systemctl cat varnish
~~~
A noter que cela fonctionne aussi pour les services qui n'ont pas d'unité systemd mais encore une unité sysvinit dans /etc/init.d/, on pourra par exemple mettre en place un redémarrage automatique d'un service :
A noter que cela fonctionne aussi pour les services qui n'ont pas d'unité systemd mais encore une unité sysvinit dans `/etc/init.d/`, on pourra par exemple mettre en place un redémarrage automatique d'un service :
~~~
[Service]
@ -240,9 +242,48 @@ Restart=always
RemainAfterExit=no
~~~
## Utiliser les templates d'unités
On peut créer/utiliser des templates d'unités. Cela permet de gérer à la volée des instances de services.
### Créer une unité systemd
Modèle simple :
~~~
# /etc/systemd/system/<unit_name>.service
[Unit]
Description=<Unit description>
After=network.target
[Service]
ExecStart=<Start command>
#ExecStop=<Stop command>
#Restart=on-failure
Type=simple
# If main process exits after being run.
#Type=oneshot
#RemainAfterExit=yes
#User=<user>
#Group=<group>
#UMask=027
[Install]
WantedBy=multi-user.target
~~~
Puis :
~~~
systemctl daemon-reload
systemctl enable --now <unit_name>
~~~
### Créer et utiliser un template d'unité
On peut créer et utiliser des template d'unité. Cela permet de gérer à la volée des instances de services.
Par exemple pour _redis_ via `/etc/systemd/system/redis@.service`.