Ajout modèle unité systemd
This commit is contained in:
parent
42ed0dce42
commit
0444a862de
|
@ -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`.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue