Automatizar los scripts de Python con Systemd una guía paso a paso
- 1482
- 314
- Berta Solano
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.objetivo123456789101112 | [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.