Systemd es una aplicación de software que proporciona una variedad de componentes del sistema para los sistemas operativos Linux. Es el primer servicio para inicializar la secuencia de arranque. Esto siempre se ejecuta con pid 1. Esto también ayuda a administrar el sistema y el servicio de aplicaciones en nuestro sistema operativo Linux.
También podemos ejecutar cualquier script personalizado como servicio systemd. Ayuda a que la secuencia de comandos se inicie en el arranque del sistema. Esto puede ser útil para ejecutar cualquier secuencia de comandos que requiera ejecutarse solo en el momento del arranque o ejecutarse siempre.
En nuestro tutorial anterior, le proporcionamos instrucciones para ejecutar un script de Python usando Systemd. Este tutorial cubre la ejecución de un script de shell como servicio de Systemd.
Paso 1:crear un script de shell
En primer lugar, cree un script de shell de muestra para que se ejecute siempre hasta que el sistema se esté ejecutando. Usaremos bash while loop para ejecutarse infinitamente.
sudo nano /usr/bin/script.sh
Agregue la siguiente secuencia de comandos de muestra.
Shell
1234567 | #!/bin/bash while truedo // Sus declaraciones van aquí sleep 10done |
Guarde el script y configure el permiso de ejecución.
sudo chmod +x /usr/bin/script.sh
Para ejecutar un script una vez durante el tiempo de arranque del sistema no se requiere ningún bucle infinito. En lugar de la secuencia de comandos anterior, puede usar su secuencia de comandos de shell para ejecutar como servicio Systemd.
Paso 2:crear un archivo SystemD
A continuación, cree un archivo de servicio para systemd en su sistema. Este archivo debe tener .service
extensión y guardada bajo /lib/systemd/system/
directorio
sudo nano /lib/systemd/system/shellscript.service
Ahora, agregue el siguiente contenido y actualice el nombre de archivo y la ubicación del script. También puede cambiar la descripción del servicio.
[Unit]
Description=My Shell Script
[Service]
ExecStart=/usr/bin/script.sh
[Install]
WantedBy=multi-user.target
Guarde el archivo y ciérrelo.
Paso 3:habilitar nuevo servicio
Su servicio de sistema ha sido agregado a su servicio. Recarguemos el demonio systemctl para leer el archivo nuevo. Debe volver a cargar este demonio cada vez que realice cambios en el archivo .service.
sudo systemctl daemon-reload
Ahora habilite el servicio para que se inicie en el arranque del sistema, también inicie el servicio usando los siguientes comandos.
sudo systemctl enable shellscript.service
sudo systemctl start shellscript.service
Finalmente, verifique que el script esté funcionando como un servicio systemd.
sudo systemctl status shellscript.service
La salida se ve a continuación:
Conclusión
Este tutorial lo ayudó a configurar un script de shell como servicio systemd.