GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar Shell Script como servicio SystemD en Linux

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

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.


Linux
  1. Cómo crear un servicio Systemd en Linux

  2. Linux:¿cómo ejecutar un script con Systemd justo antes del apagado?

  3. Linux – ¿Ubicación del script Fsck?

  4. ¿Cómo ejecutar un script de Shell en segundo plano?

  5. Cómo ejecutar scripts de Python desde shell

Cómo ejecutar contenedores como servicio Systemd con Podman

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar Windows 95 en Linux

Cómo ejecutar Shell Script como servicio Systemd en Linux

Cómo almacenar un comando de Linux como una variable en el script de Shell

Cómo crear y ejecutar un script de shell en Ubuntu 22.04

    1234567 #!/bin/bash while truedo // Sus declaraciones van aquí sleep 10done