Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
creer_un_service_avec_systemd [Le 07/01/2018, 14:54] L'Africain grammaire |
creer_un_service_avec_systemd [Le 16/07/2019, 09:39] 37.72.221.219 [Exemple de service cyclique.] |
||
---|---|---|---|
Ligne 88: | Ligne 88: | ||
* ''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>'' | ||
- | * ''After'' permet d'indiquer quel pré-requis est nécessaire pour le fonctionnement du service. Ici, on indique qu'il faut attendre que l'ordinateur ait accès à Internet pour lancer le daemon. FIXME **à vérifier :** Si l'accès à Internet est perdu, le service est arrêté automatiquement.\\ | + | * ''After'' permet d'indiquer quel pré-requis est nécessaire pour le fonctionnement du service. Ici, on indique qu'il faut attendre que l'ordinateur ait accès à Internet pour lancer le daemon. L'accès à Internet est perdu, le service n'est pas arrêté automatiquement, pour obtenir cet effet, il faut utiliser une balise ''Requires='' \\ |
* ''Type'' permet de specifier le type de service | * ''Type'' permet de specifier le type de service | ||
* ''User'', ''Group'' et ''Umask'' permet d'identifier qui est le propriétaire du processus et donc les attributs des fichiers téléchargés. Ici, les fichiers téléchargés seront accessibles en Lecture/Ecriture à l'utilisateur ''Deluge'' et aux membres du groupe ''Deluge'' et invisibles aux autres utilisateurs du système. | * ''User'', ''Group'' et ''Umask'' permet d'identifier qui est le propriétaire du processus et donc les attributs des fichiers téléchargés. Ici, les fichiers téléchargés seront accessibles en Lecture/Ecriture à l'utilisateur ''Deluge'' et aux membres du groupe ''Deluge'' et invisibles aux autres utilisateurs du système. | ||
Ligne 132: | Ligne 132: | ||
# 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 | ||
# 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 http://man7.org/linux/man-pages/man7/systemd.time.7.html | ||
[Install] | [Install] | ||
WantedBy=timers.target | WantedBy=timers.target | ||
- | [Service] | + | </file> |
- | User=XXXXXXXXX # à renseigner ? root par défaut. | + | |
- | Group=users | + | |
- | ExecStart=/etc/init.d/MAJ0</file> | + | |
Création du fichier contenant ce qu'il faut faire dans cet exemple | Création du fichier contenant ce qu'il faut faire dans cet exemple | ||
- | <file bash /etc/init.d/MAJ0> | + | <file sh /etc/systemd/system/MAJ0.service> |
- | #! /bin/sh | + | [Unit] |
- | date >/var/log/MAJ0.log | + | Description=Service de mise a jour |
- | echo "Faire les mises à jour" >>/var/log/MAJ0.log | + | After=network.target |
- | sudo apt install tototo >>/var/log/MAJ0.log | + | |
- | sudo apt autoremove | + | [Service] |
- | echo "Pas encore trouvé pour informer l'utilisateur de la proposition d'épuration. Donc rien n'est épuré" >>/var/log/MAJ0.log | + | ExecStart=apt-get update && apt-get upgrade |
- | exit 0 </file> | + | Type=oneshot |
+ | </file> | ||
Avec les commandes de gestion associées | Avec les commandes de gestion associées | ||
- | <code>sudo systemctl start MAJ0.timer | + | <code>sudo systemctl enable MAJ0.timer |
+ | sudo systemctl start MAJ0.timer | ||
sudo systemctl status MAJ0.timer | sudo systemctl status MAJ0.timer | ||
- | sudo systemctl stop MAJ0.timer | + | </code> |
- | sudo systemctl daemon-reload | + | |
- | sudo systemctl enable MAJ0.timer </code> | + | |
====Exemple de service avancé avec la base graphe neo4j==== | ====Exemple de service avancé avec la base graphe neo4j==== |