Cet article explique comment créer un service personnalisé s’exécutant sous systemd sous Linux. De cette façon, vous pourrez utiliser la même commande que vous utilisez pour gérer un service Apache ou Nginx par exempe, mais cette fois-ci pour gérer vos propres services.
Créer un service sous systemd
Creer un utilisateur sans répertoire racine:
useradd --no-create-home --shell /bin/false USER1
Dans l’exemple ci-dessus, d’autres options pour ̀Type (sous [Service]) incluent forking, et d’autres options pour Restart incluent always and on-abort.
[Unit]
Description=Ma description
Wants=network-online.target
After=network-online.target
[Service]
User=USER1
Group=USER1
Type=simple
ExecStart=/mon/fichier/executable
[Install]
WantedBy=multi-user.target
Pour la prise en compte
systemctl daemon-reload
systemctl enable mon-service.service
service mon-service start
Gestion basique des services
Activer ou désactiver le “lancement au démarrage”
systemctl enable mon-service.service
systemctl disable mon-service.service
Démarrer ou arrêter un service
systemctl start mon-service.service
systemctl stop mon-service.service
Recharger (la config) ou redémarrer un service
systemctl daemon-reload mon-service.service
systemctl restart mon-service.service
Vérifier l’état d’un service
Cette commande vous permettra de voir si le service est en cours d’exécution, de vous indiquer son temps de disponibilité et d’afficher ses derniers journaux.
systemctl status mon-service.service
Consulter les logs des services
Cette commande récupère les 100 derniers journaux du service donné.
journalctl -n 100 -u mon-service.service