Systemd est un puissant système d’initialisation utilisé par la plupart des distributions Linux modernes pour gérer les processus du système et des services. L’une de ses principales fonctionnalités est la possibilité de démarrer automatiquement les services au démarrage. Cet article vous guidera tout au long du processus de configuration d’un service pour qu’il démarre au démarrage à l’aide de Systemd, garantissant ainsi que vos applications critiques fonctionnent de manière fiable chaque fois que le système est redémarré.
Systemd utilise des fichiers unitaires pour définir et gérer les services. Ces fichiers unitaires sont stockés dans :
/etc/systemd/system/
et /lib/systemd/system/
~/.config/systemd/user/
Un fichier d’unité de service a généralement une extension .service
et contient des directives de configuration qui indiquent à Systemd comment gérer le service.
Pour configurer un service afin qu’il démarre au démarrage, vous devez créer un fichier de service Systemd. Voici un exemple de création d’un service personnalisé.
Exécutez la commande suivante pour ouvrir un nouveau fichier de service dans un éditeur de texte :
sudo nano /etc/systemd/system/myservice.service
Ajoutez le contenu suivant, en le modifiant en fonction de votre application :
[Unit]
Description=My Custom Service
After=network.target
[Service]
ExecStart=/usr/bin/myapp
Restart=always
User=myuser
Group=mygroup
WorkingDirectory=/home/myuser/
[Install]
WantedBy=multi-user.target
Explication :
After=network.target
: Assure que le service démarre une fois que le réseau est disponible.ExecStart=/usr/bin/myapp
: Définit la commande de démarrage du service.Restart=toujours
: Assure le redémarrage du service en cas d’échec.User=myuser
et Group=mygroup
: Exécute le service sous un utilisateur et un groupe spécifiques.WantedBy=multi-user.target
: Assure que le service démarre en mode multi-utilisateur (niveau d’exécution par défaut pour la plupart des serveurs).Une fois le fichier de service créé, rechargez Systemd pour qu’il reconnaisse le nouveau service :
sudo systemctl daemon-reload
Activez le service pour qu’il démarre au démarrage :
sudo systemctl enable myservice.service
Démarrez le service manuellement :
sudo systemctl start myservice.service
Vérifier l’état du service :
sudo systemctl status myservice.service
Si tout est configuré correctement, vous devriez voir un message indiquant que le service est en cours d’exécution.
Voici quelques commandes utiles pour gérer votre service Systemd :
sudo systemctl restart myservice.service
sudo systemctl stop myservice.service
sudo systemctl disable myservice.service
journalctl -u myservice.service --no-pager
L’utilisation de Systemd pour lancer des services au démarrage est un moyen simple et efficace de s’assurer que les applications critiques continuent de fonctionner après le redémarrage du système. En configurant correctement un fichier de service Systemd, en l’activant au démarrage et en le gérant avec systemctl
, vous pouvez améliorer la fiabilité et l’automatisation de votre environnement Linux.