Cómo ejecutar el script de shell como systemd en Linux

Cómo ejecutar el script de shell como systemd en Linux

Systemd es una aplicación de software que proporciona una variedad de componentes del sistema para los sistemas operativos de Linux. Es el primer servicio en inicializar la secuencia de arranque. Esto siempre funciona con PID 1. Esto también nos ayuda a administrar los servicios del sistema y las aplicaciones en nuestro sistema operativo Linux.

También podemos ejecutar cualquier script personalizado como servicio Systemd. Ayuda al script a comenzar con el arranque del sistema. Esto puede ser útil para que ejecute cualquier script que se requiera ejecutar solo en el momento de arranque o que se ejecute siempre.

En nuestro tutorial anterior, hemos proporcionado instrucciones para ejecutar un script de Python usando Systemd. Este tutorial cubre la ejecución de un script de shell como un servicio systemd.

Paso 1 - Crea un script de shell

En primer lugar, cree un script de shell de muestra, que debe ejecutarse en el inicio del sistema. También puede crear un script de shell para ejecutar siempre usando un infinito mientras bucle. El script seguirá funcionando hasta que el sistema caiga.

Crear un script de shell según los requisitos. Para fines de prueba, estoy creando un script de shell de muestra como/usr/bin/script.mierda.

sudo nano/usr/bin/script.mierda  

Se agregó el siguiente código de script de shell de muestra.

#!/bin/bash mientras verdadero Do // Tus declaraciones van aquí Duerme 10 Hechos
1234567#!/bin/bash mientras truedo // sus declaraciones van aquí dormir 10 done

Presione Ctrl+O y presione Enter para guardar cambios. Entonces presione CTRL + X para dejar de ser editor nano.

Ahora, haga que el script sea ejecutable:

sudo chmod +x/usr/bin/script.mierda  

Para ejecutar un script una vez durante el tiempo de arranque del sistema no requiere ningún bucle infinito. En lugar del script anterior, puede usar su script de shell para ejecutar como un servicio systemd.

Paso 2: cree un archivo de la unidad Systemd

A continuación, cree un archivo de unidad de servicio para el sistema en su sistema. Este archivo debe tener .servicio extensión y guardado debajo del /lib/systemd/system/ directorio

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

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.

[Unidad] Descripción = mi script shell [servicio] execstart =/usr/bin/script.sh [install] WantedBy = Multiuser.objetivo 

Guarde el archivo y cierre.

Paso 3: habilite el nuevo servicio

El servicio de su sistema se ha agregado a su servicio. Recargemos el Daemon SystemCtl para leer el nuevo archivo. Necesita recargar este demonio cada vez después de hacer cambios en .servicio archivo.

SUDO SystemCtl-Daemon-Re-Re-Reload  

Ahora habilite el servicio para iniciar el arranque del sistema, también inicie el servicio utilizando los siguientes comandos.

sudo systemctl habilitar shellscript.servicio  sudo systemctl start shellscript.servicio  

Finalmente, verifique que el script esté en funcionamiento como un servicio Systemd.

SUDO SystemCTL Status ShellScript.servicio  

La salida se parece a la siguiente:

Todo listo!

Conclusión

Felicitaciones, ha configurado con éxito un script de shell para ejecutarse en el inicio del sistema. Esto puede ser útil para ejecutar sus scripts personalizados que se requieren para comenzar en el arranque del sistema. Este tutorial le ayudó a configurar un script de shell como servicio systemd.