Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
creer_un_service_avec_systemd [Le 15/11/2020, 17:25]
176.129.243.67 [Principes de base]
creer_un_service_avec_systemd [Le 23/07/2024, 11:54] (Version actuelle)
217.114.205.206 [Principes de base]
Ligne 44: Ligne 44:
 </​note>​ </​note>​
  
-<note importante>​il faudrait documenter la commande <​code>​systemctl edit</​code></​note>​+Pour créer un service utilisateur :
  
 +<​code>​
 +systemctl --user edit <nom du service>​.service --full --force
 +</​code>​
 +
 +Pour éditer un service utilisateur :
 +
 +<​code>​
 +systemctl --user edit <nom du service>​.service --full
 +</​code>​
 +
 +Pour ajouter une surcharge (drop-in) sur un service utilisateur :
 +
 +<​code>​
 +systemctl --user edit <nom du service>​.service
 +</​code>​
 +
 +<note important>​Attention : pour un service user, il faut remplacer ''​WantedBy=multi-user.target''​ par ''​WantedBy=default.target''​.</​note>​
 ===== Type de services systemd ===== ===== Type de services systemd =====
  
Ligne 66: Ligne 83:
 RemainAfterExit=yes RemainAfterExit=yes
 ExecStart=/​usr/​libexec/​iptables.init start ExecStart=/​usr/​libexec/​iptables.init start
-ExecStop=/​usr/​libexec/​iptables.init stop +ExecStop=/​usr/​libexec/​iptables.init stop
 </​file>​ </​file>​
  
Ligne 101: Ligne 118:
 [Install] [Install]
 WantedBy=multi-user.target WantedBy=multi-user.target
-</​file> ​+</​file>​
  
   * ''​Description''​ permet de donner une description du service qui apparaîtra lors de l'​utilisation de la commande ''​systemctl status <​nom_du_service>''​   * ''​Description''​ permet de donner une description du service qui apparaîtra lors de l'​utilisation de la commande ''​systemctl status <​nom_du_service>''​
Ligne 139: Ligne 156:
 systemctl enable syncthing@Milou.service systemctl enable syncthing@Milou.service
 </​code>​ </​code>​
 +**Qu'​est ce qu'un timer--
 +
 +Les timers sont des fichiers de programmation qui vont se charger de lancer des services à intervalles réguliers.
 +
 +Quand vous créez un timer, il doit avoir l'​extension .timer. Un service .service du même nom doit exister. (le service est souvent un service minimaliste,​ de type oneshot, permettant de lancer une commande)
 +
 +Les timers «pourraient presque» remplacer le planificateur de tâches cron.
 +
 ==== Exemple de service cyclique. ==== ==== Exemple de service cyclique. ====
-Création du fichier de timer        +Création du fichier de timer
 <file sh /​etc/​systemd/​system/​MAJ0.timer>​ <file sh /​etc/​systemd/​system/​MAJ0.timer>​
 [Unit] [Unit]
 Description=Lance une mise à jour de l'​ordinateur quinze minutes après le démarrage de la machine et  itère toutes les trente minutes. Description=Lance une mise à jour de l'​ordinateur quinze minutes après le démarrage de la machine et  itère toutes les trente minutes.
 [Timer] [Timer]
-OnBootSec=15minutes ​  ​+OnBootSec=15minutes
 # le service démarrera 15 minutes après le démarrage de la machine # le service démarrera 15 minutes après le démarrage de la machine
-OnUnitActiveSec=30minutes ​ +OnUnitActiveSec=30minutes
 Persistent=true Persistent=true
 # le service démarrera toutes les trente minutes après la dernière activation du timer # le service démarrera toutes les trente minutes après la dernière activation du timer
-###    voir toutes les possibilités de choix  dans ce  document ​http://​man7.org/​linux/​man-pages/​man7/​systemd.time.7.html+###    voir toutes les possibilités de choix  dans ce  document ​https://​man7.org/​linux/​man-pages/​man7/​systemd.time.7.html
 [Install] [Install]
 WantedBy=timers.target WantedBy=timers.target
Ligne 188: Ligne 213:
  
 # Type de l'​Unité systemd. # Type de l'​Unité systemd.
-#Les différents types d'​unités sont : +#Les différents types d'​unités sont :
 #    service : pour un service/​démon ; #    service : pour un service/​démon ;
 #    socket : pour une socket réseau (de tous types : UNIX, Internet, fichier etc.) ; #    socket : pour une socket réseau (de tous types : UNIX, Internet, fichier etc.) ;
Ligne 206: Ligne 231:
 #​https://​www.freedesktop.org/​software/​systemd/​man/​systemd.service.html #​https://​www.freedesktop.org/​software/​systemd/​man/​systemd.service.html
 [Service] [Service]
-#Lance le service dans un processus système indépendant. ​+#Lance le service dans un processus système indépendant.
 # simple, forking, oneshot, dbus, notify ou idle sont les valeurs possibles de Type=. # simple, forking, oneshot, dbus, notify ou idle sont les valeurs possibles de Type=.
 Type=forking Type=forking
Ligne 217: Ligne 242:
 RuntimeDirectory=neo4j RuntimeDirectory=neo4j
  
-#Droits d'​accès sur le réperoitre ​/run/neo4j.+#Droits d'​accès sur le répertoire ​/run/neo4j.
 # Utilisateur ​ Groupe ​   Les_autres # Utilisateur ​ Groupe ​   Les_autres
 #     ​rwx ​       rwx        --- #     ​rwx ​       rwx        ---
Ligne 255: Ligne 280:
 #Définit des limites logicielles ou matérielles pour le processus exécuté. #Définit des limites logicielles ou matérielles pour le processus exécuté.
 #​https://​www.freedesktop.org/​software/​systemd/​man/​systemd.exec.html#​ #​https://​www.freedesktop.org/​software/​systemd/​man/​systemd.exec.html#​
-# Correspond à ulimit -n 60000. ​+# Correspond à ulimit -n 60000.
 # C'est le nombre maximum de fichiers pouvant être ouvert simultanément pour les processus fils du service. # C'est le nombre maximum de fichiers pouvant être ouvert simultanément pour les processus fils du service.
 LimitNOFILE=60000 LimitNOFILE=60000
Ligne 274: Ligne 299:
 ===== Ressources ====== ===== Ressources ======
   * [[wpfr>​systemd|systemd]] sur Wikipedia en français   * [[wpfr>​systemd|systemd]] sur Wikipedia en français
-  * [[http://​www.freedesktop.org/​wiki/​Software/​systemd/​|Site officiel de systemd]] +  * [[https://​www.freedesktop.org/​wiki/​Software/​systemd/​|Site officiel de systemd]] 
-  * [[http://​doc.fedora-fr.org/​wiki/​Systemd|Fedora et systemd]] notamment pour la partie [[#Type de service systemd]]+  * [[https://​doc.fedora-fr.org/​wiki/​Systemd|Fedora et systemd]] notamment pour la partie [[#Type de service systemd]]
   * [[https://​docs.syncthing.net/​users/​autostart.html#​using-systemd|Documentation de Syncthing]] Créer un service systemd pour lancer Syncthing au démarrage (en anglais)   * [[https://​docs.syncthing.net/​users/​autostart.html#​using-systemd|Documentation de Syncthing]] Créer un service systemd pour lancer Syncthing au démarrage (en anglais)
   * [[https://​deluge.readthedocs.io/​en/​latest/​how-to/​systemd-service.html|Documentation de Deluge]] Créer un service systemd pour lancer Deluge au démarrage (en anglais)   * [[https://​deluge.readthedocs.io/​en/​latest/​how-to/​systemd-service.html|Documentation de Deluge]] Créer un service systemd pour lancer Deluge au démarrage (en anglais)
  • creer_un_service_avec_systemd.1605457520.txt.gz
  • Dernière modification: Le 15/11/2020, 17:25
  • par 176.129.243.67