Systemd est une application logicielle qui fournit une gamme de composants système pour les systèmes d'exploitation Linux. C'est le premier service à initialiser la séquence de démarrage. Cela fonctionne toujours avec le pid 1. Cela aide également à gérer le système et le service d'application sur notre système d'exploitation Linux.
Nous pouvons également exécuter n'importe quel script personnalisé en tant que service systemd. Cela aide le script à démarrer au démarrage du système. Cela peut vous être utile pour exécuter n'importe quel script qui doit s'exécuter uniquement au démarrage ou s'exécuter en permanence.
Dans notre précédent didacticiel, nous vous avons fourni des instructions pour exécuter un script Python à l'aide de Systemd. Ce tutoriel couvre l'exécution d'un script shell en tant que service Systemd.
Étape 1 - Créer un script shell
Tout d'abord, créez un exemple de script shell à exécuter jusqu'à ce que le système soit en cours d'exécution. Nous utiliserons bash while loop pour s'exécuter à l'infini.
sudo nano /usr/bin/script.sh
Ajoutez l'exemple de script suivant.
Shell1234567 | #!/bin/bash while truedo // Vos instructions vont ici sleep 10done |
Enregistrez le script et définissez l'autorisation d'exécution.
sudo chmod +x /usr/bin/script.sh
Exécuter un script une fois au démarrage du système ne nécessite aucune boucle infinie. Au lieu du script ci-dessus, vous pouvez utiliser votre script shell pour s'exécuter en tant que service Systemd.
Étape 2 - Créer un fichier SystemD
Ensuite, créez un fichier de service pour le systemd sur votre système. Ce fichier doit avoir .service
extension et enregistré sous le sous /lib/systemd/system/
répertoire
sudo nano /lib/systemd/system/shellscript.service
Maintenant, ajoutez le contenu suivant et mettez à jour le nom et l'emplacement du fichier de script. Vous pouvez également modifier la description du service.
[Unit] Description=My Shell Script [Service] ExecStart=/usr/bin/script.sh [Install] WantedBy=multi-user.target
Enregistrez le fichier et fermez-le.
Étape 3 :Activer le nouveau service
Votre service système a été ajouté à votre service. Rechargeons le démon systemctl pour lire le nouveau fichier. Vous devez recharger ce démon à chaque fois après avoir apporté des modifications au fichier .service.
sudo systemctl daemon-reload
Activez maintenant le service pour qu'il démarre au démarrage du système, démarrez également le service à l'aide des commandes suivantes.
sudo systemctl enable shellscript.service
sudo systemctl start shellscript.service
Enfin, vérifiez que le script est opérationnel en tant que service systemd.
sudo systemctl status shellscript.service
La sortie ressemble à ci-dessous :
Conclusion
Ce tutoriel vous a aidé à configurer un script shell en tant que service systemd.