Comment exécuter le script shell comme systemd dans Linux

Comment exécuter le script shell comme systemd dans Linux

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 fait
1234567#!/ 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.