Automatisation des scripts Python avec Systemd un guide étape par étape

Automatisation des scripts Python avec Systemd un guide étape par étape

Question: Comment automatiquement un script Python à l'aide de Systemd. Comment créer son propre service systemd à l'aide de python script. Comment configurer le script Python pour démarrer en tant que systemd. Comment gérer le service Python avec SystemCTL?

'Systemd' est un gestionnaire de systèmes et de services pour Linux qui vous permet de gérer et de contrôler les services et les démons sur votre système. Vous pouvez utiliser SystemD pour automatiser l'exécution des scripts Python en créant un service SystemD qui exécute le script au démarrage ou sur un calendrier.

L'utilisation de SystemD pour automatiser les scripts Python présente plusieurs avantages, y compris la possibilité de démarrer et d'arrêter le script au besoin, pour exécuter le script en arrière-plan comme un démon et pour configurer les dépendances et les options d'exécution.

Voici un guide étape par étape sur la façon d'automatiser un script Python à l'aide de Systemd:

Étape 1 - Créer un exemple d'application Python

Créez un script Python que vous souhaitez automatiser. Par exemple, disons que vous avez un script nommé myscript.py que tu veux courir toutes les heures.

sudo nano / usr / bin / myscript.py  

Ajoutez le contenu suivant au script. Vous pouvez utiliser votre propre script Python selon les exigences.

#!/ usr / bin / python3 Importer socket s = socket.prise.Af_inet, socket.Sock_stream) s.lier (("localhost", 9988)) s.Écoutez (1) tandis que vrai: Conn, addr = s.accepter () data = conn.Recv (1024) Conn.close () my_function_that_handles_data (données)
123456789101112#!/ usr / bin / python3 importations d'importation = socket.prise.Af_inet, socket.Sock_stream) s.lier (("localhost", 9988)) s.Écoutez (1) tandis que vrai: Conn, addr = s.accepter () data = conn.Recv (1024) Conn.close () my_function_that_handles_data (données)

Presse 'Ctrl + x' Et puis appuyez sur 'Y' et frapper 'Entrer' bouton pour enregistrer et fermer le fichier.

Étape 2 - Créez un fichier de service SystemD

Créer un fichier de service SystemD qui spécifie le script que vous souhaitez exécuter et toutes les options ou dépendances supplémentaires. Le fichier de service doit être nommé d'après le service et il doit se terminer avec le .Extension de service. Par exemple, pour créer un service nommé myscript, Vous pouvez créer un fichier nommé 'MyScript.service' dans le '/ etc / systemd / système' annuaire.

Sudo Nano / Lib / Systemd / System / MyScript.service  

Ajouter le contenu suivant. Modifier le nom de fichier et l'emplacement du script Python.

[Unité] Description = Service Python personnalisé après = multi-utilisateurs.Conflits cibles = getty @ tty1.service [service] type = simple execstart = / usr / bin / python3 / usr / bin / myscript.py standardinput = tty-force [install] wantedBy = multi-utilisateur.cible
123456789101112[Unité] Description = Séditeur de python personnalisé = Multi-utilisateur.TargetConflicts = getty @ tty1.service [service] type = SimpleExecstart = / usr / bin / python3 / usr / bin / myscript.pystandardInput = tty-force [install] wantedBy = multi-utilisateur.cible

Presse 'Ctrl + x' Et puis appuyez sur 'Y' et frapper 'Entrer' bouton pour enregistrer et fermer le fichier.

Étape 3 - Activer et démarrer le service

Recharger le démon systemd pour récupérer le nouveau fichier de service. Vous pouvez utiliser le 'systemctl' commande pour recharger le démon et rendre le service disponible.

Sudo Systemctl Daemon-Reload  

Permettre au service d'exécuter au démarrage. Vous pouvez utiliser le 'systemctl' commande pour activer le service, ce qui le fera démarrer automatiquement lorsque le système bottait.

sudo systemctl activer myscript.service  

Vous pouvez utiliser le 'systemctl' commander pour démarrer le service manuellement, ou vous pouvez attendre que le prochain démarrage du système exécute automatiquement le script.

sudo systemctl start myscript.service  

Étape 4 - Vérifiez l'état du service

Enfin, vérifiez l'état actuel du service en exécutant la commande suivante.

Sudo Systemctl Status MyScript.service  

Conclusion

En conclusion, SystemD est un outil puissant pour automatiser l'exécution des scripts Python sur les systèmes Linux. En créant un service SystemD et en lui permettant d'exécuter au démarrage ou sur un calendrier, vous pouvez vous assurer que vos scripts Python sont exécutés de manière cohérente et fiable.

Dans l'ensemble, SystemD est un outil utile pour automatiser l'exécution des scripts Python, et il peut vous aider à gérer et à maintenir vos scripts plus efficacement. J'espère que cet article a fourni un guide utile pour automatiser les scripts Python avec SystemD, et je vous encourage à explorer les nombreuses autres fonctionnalités et capacités de cet outil puissant.