22
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> <https://www.freedesktop.org/software/systemd/man/systemd.service.html>
### Modifier une unité ### Modifier une unité
~~~ ~~~
@ -178,7 +179,7 @@ Redémarrer le serveur :
# systemctl daemon-reload # systemctl daemon-reload
~~~ ~~~
Exemple avec ssh.service sous Debian 8 : Exemple avec `ssh.service` sous Debian 8 :
~~~ ~~~
[Unit] [Unit]
@ -205,6 +206,7 @@ Alias=sshd.service
> ExecStart=/bin/sh -c '/path/to/program >> /path/to/log' > ExecStart=/bin/sh -c '/path/to/program >> /path/to/log'
> ``` > ```
### Modifier partiellement une unité ### 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` : 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 # 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] [Service]
@ -240,9 +242,48 @@ Restart=always
RemainAfterExit=no 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`. Par exemple pour _redis_ via `/etc/systemd/system/redis@.service`.