Automatizar los scripts de Python con Systemd una guía paso a paso

Automatizar los scripts de Python con Systemd una guía paso a paso

Pregunta: Cómo automáticamente un script de Python usando Systemd. Cómo crear el propio servicio Systemd utilizando el script de Python. Cómo configurar el script de Python para comenzar como systemd. Cómo administrar el servicio de Python con SystemCTL?

'Systemd' es un gerente de sistema y servicio de Linux que le permite administrar y controlar los servicios y demonios en su sistema. Puede usar SystemD para automatizar la ejecución de los scripts de Python creando un servicio Systemd que ejecuta el script al inicio o en un cronograma.

El uso de Systemd para automatizar los scripts de Python tiene varios beneficios, incluida la capacidad de iniciar y detener el script según sea necesario, ejecutar el script en segundo plano como un demonio y configurar dependencias y opciones de tiempo de ejecución.

Aquí hay una guía paso a paso sobre cómo automatizar un script de Python usando Systemd:

Paso 1 - Crear aplicación de pitón de muestra

Crea un script de Python que quieras automatizar. Por ejemplo, supongamos que tiene un script llamado MyScript.Py que quieres correr cada hora.

sudo nano/usr/bin/myscript.py  

Agregue el siguiente contenido al script. Puede usar su propio script de Python según los requisitos.

#!/usr/bin/python3 importar Socket s = enchufe.enchufe (enchufe.Af_inet, enchufe.Sock_stream) s.bind (("localhost", 9988)) s.Escuchar (1) mientras verdadero: Conn, ADDR = S.aceptar () data = Conn.Recv (1024) Conn.Close () my_function_that_handles_data (datos)
123456789101112#!/usr/bin/python3 importación de sockets = socket.enchufe (enchufe.Af_inet, enchufe.Sock_stream) s.bind (("localhost", 9988)) s.Escuchar (1) mientras verdadero: Conn, ADDR = S.aceptar () data = Conn.Recv (1024) Conn.Close () my_function_that_handles_data (datos)

Prensa 'Ctrl + x' y luego presiona 'Y' y golpear 'Ingresar' botón para guardar y cerrar el archivo.

Paso 2: cree un archivo de servicio Systemd

Cree un archivo de servicio Systemd que especifique el script que desea ejecutar y cualquier opción o dependencia adicionales. El archivo de servicio debe llevarse el nombre del servicio, y debe terminar con el .extensión de servicio. Por ejemplo, para crear un servicio llamado myscript, Puede crear un archivo llamado 'MyScript.servicio' en el '/etc/systemd/system' directorio.

sudo nano/lib/systemd/system/myscript.servicio  

Agregue el siguiente contenido. Cambie el nombre de archivo y ubicación del script de Python.

[Unidad] Descripción = Servicio Python personalizado después = Multi-user.conflictos de destino = [email protected] [servicio] type = simple execstart =/usr/bin/python3/usr/bin/myscript.py standardInput = tty-force [install] Wantedby = Multi-user.objetivo
123456789101112[Unidad] Descripción = Python personalizado ServiceAftter = Multi-user.TargetConflicts = [email protected] [servicio] type = simpleExecStart =/usr/bin/python3/usr/bin/myscript.pystandardinput = tty-force [install] Wantedby = Multi-user.objetivo

Prensa 'Ctrl + x' y luego presiona 'Y' y golpear 'Ingresar' botón para guardar y cerrar el archivo.

Paso 3 - Habilitar e iniciar el servicio

Recargar el Daemon Systemd para recoger el nuevo archivo de servicio. Puedes usar el 'SystemCtl' Comandar para recargar el demonio y hacer que el servicio esté disponible.

SUDO SystemCtl-Daemon-Re-Re-Reload  

Habilite el servicio para ejecutarse al inicio. Puedes usar el 'SystemCtl' Comando para habilitar el servicio, lo que hará que comience automáticamente cuando el sistema se inicie.

sudo systemctl habilita myScript.servicio  

Puedes usar el 'SystemCtl' Comando para iniciar el servicio manualmente, o puede esperar a que el próximo inicio del sistema ejecute el script automáticamente.

sudo systemctl iniciar myscript.servicio  

Paso 4 - Verifique el estado del servicio

Finalmente, verifique el estado del servicio actual ejecutando el siguiente comando.

sudo systemctl status myScript.servicio  

Conclusión

En conclusión, Systemd es una herramienta poderosa para automatizar la ejecución de los scripts de Python en los sistemas Linux. Al crear un servicio Systemd y permitir que se ejecute al inicio o en un horario, puede asegurarse de que sus scripts de Python se ejecuten de manera consistente y confiable.

En general, Systemd es una herramienta útil para automatizar la ejecución de los scripts de Python, y puede ayudarlo a administrar y mantener sus scripts de manera más efectiva. Espero que este artículo haya proporcionado una guía útil para automatizar los scripts de Python con Systemd, y le animo a que explore las muchas otras características y capacidades de esta poderosa herramienta.