Comment exécuter le script shell comme systemd dans Linux
- 3726
- 299
- Maxence Arnaud
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 pour initialiser la séquence de démarrage. Cela fonctionne toujours avec PID 1. Cela nous aide également à gérer les services de système et d'application sur notre système d'exploitation Linux.
Nous pouvons également exécuter n'importe quel script personnalisé en tant que service systemd. Il aide le script à démarrer sur le démarrage du système. Cela peut vous être utile d'exécuter n'importe quel script qui devait s'exécuter à l'heure du démarrage uniquement ou à exécuter toujours.
Dans notre tutoriel précédent, nous vous fournissons 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éez un script shell
Tout d'abord, créez un exemple de script de shell, qui doit s'exécuter au démarrage du système. Vous pouvez également créer un script de shell pour s'exécuter toujours à l'aide d'une boucle infinie. Le script continuera à fonctionner jusqu'à ce que le système baisse.
Créez un script shell selon les exigences. À des fins de test, je crée un exemple de script de shell AS / USR / bin / script.shot.
sudo nano / usr / bin / script.shot
Ajout de l'exemple de code de script de shell suivant.
#!/ bin / bash pendant que true do // vos déclarations vont ici dormir 10 fait1234567 | #!/ bin / bash tandis que Trededo // Vos déclarations vont ici dormir 10done |
Appuyez sur Ctrl + O et appuyez sur Entrée pour enregistrer les modifications. Puis appuyez Ctrl + x
à quitter de Nano Editor.
Maintenant, rendez le script exécutable:
sudo chmod + x / usr / bin / script.shot
Pour exécuter un script une fois pendant le temps de 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 unitaire Systemd
Ensuite, créez un fichier d'unité de service pour le systemd sur votre système. Ce fichier doit avoir .service
extension et enregistrée sous le sous / lib / systemd / system /
annuaire
Sudo Nano / Lib / Systemd / System / ShellScript.service
Maintenant, ajoutez le contenu suivant et mettez à jour le nom de fichier et l'emplacement du script. Vous pouvez également modifier la description du service.
[Unité] Description = mon script de shell [Service] execStart = / usr / bin / script.sh [installer] recherché = multi-utilisateurs.cible
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 dans .service déposer.
Sudo Systemctl Daemon-Reload
Activez maintenant le service pour démarrer sur le démarrage du système, démarrez également le service à l'aide des commandes suivantes.
sudo systemctl activer shellscript.service
sudo systemctl start shellcript.service
Vérifiez enfin que le script est opérationnel en tant que service systemd.
Sudo Systemctl Status ShellScript.service
La sortie ressemble à ce qui précède:
Terminé!
Conclusion
Félicitations, vous avez configuré avec succès un script shell pour s'exécuter au démarrage du système. Cela peut être utile pour exécuter vos scripts personnalisés nécessaires pour démarrer au démarrage du système. Ce tutoriel vous a aidé à configurer un script shell en tant que service systemd.