LinuxParty
Los sistemas Linux modernos usan systemd para administrar los demonios y la configuración del sistema. Systemd es un administrador de servicios y un sistema de inicialización, que reemplazó a SysvInit y existe desde hace casi una década.
Realiza varias tareas, como la gestión de demonios (iniciar, detener, deshabilitar y habilitar servicios), soporte de instantáneas y seguimiento de procesos, entre otros . Actualmente, es el sistema de inicialización predeterminado en la mayoría de las distribuciones de Linux.
Puede crear fácilmente un script personalizado que se puede ejecutar como un servicio systemd . En esta guía, veremos cómo puede ejecutar un script en un systemd justo antes de que el sistema se apague en un sistema Linux .
Para fines de demostración, estamos utilizando el servidor Rocky Linux 8. Pero serviría igualmente en RHEL, Fedora, AlmaLinux, etc.
Paso 1: Crear un Script de muestra
El primer paso es crear un script de shell que se ejecutará antes del apagado. Para fines de demostración, crearemos un script de shell simple llamado "sample_script.sh
" que retrasa el apagado del sistema en 30 segundos .
Para ejecutar el script justo antes de que el sistema se apague, debe colocar el script en el directorio "/usr/lib/systemd/system-shutdown
". Antes de ejecutar el apagado real, todos los ejecutables binarios en el directorio "usr/lib/systemd/system-shutdown
" se ejecutarán en paralelo.
La ejecución de la acción no continúa hasta que se completan todos los archivos ejecutables.
$ sudo vim /usr/lib/systemd/system-shutdown/sample_script.sh
El script de shell simple que retrasa el apagado del sistema por 30 segundos se ve como se muestra a continuación.
#!/bin/bash # Un script que obliga al sistema a esperar 30 segundos antes de apagarse sleep 30
Guarde y salga del archivo. A continuación, haga que el script sea ejecutable.
$ sudo chmod u+x /usr/lib/systemd/system-shutdown/sample_script.sh
Paso 2: Cree un archivo de unidad Systemd para ejecutar el script de Shell
El siguiente paso es crear un archivo de unidad systemd para ejecutar el script de shell antes de que se apague el sistema. Crearemos el "execute-before-shutdown.service
" archivo de servicio systemd como se muestra.
$ sudo vim /etc/systemd/system/execute-before-shutdown.service
Pegue las siguientes líneas de código .
[Unit] Description=Execute custom script before system poweroff DefaultDependencies=no Before=shutdown.target [Service] Type=oneshot ExecStart=/usr/lib/systemd/system-shutdown/sample_script.sh TimeoutStartSec=0 [Install] WantedBy=shutdown.target
La tarea crucial aquí la realizan las directivas "Before=shutdown.target
" y "TimeoutStartSec=0
" .
Guarde los cambios y salga del archivo. A partir de entonces, actualice el archivo de configuración de systemd y habilite el script para que se inicie automáticamente la próxima vez que se encienda el sistema.
$ sudo systemctl daemon-reload $ sudo systemctl enable execute-before-shutdown.service --now
Paso 3: Confirme el archivo de la unidad Systemd
Para confirmar que el script se está ejecutando antes de que el sistema se apague, simplemente ejecute el siguiente comando de apagado como se muestra:
$ sudo poweroff
Observará que el proceso de apagado se retrasará 30 segundos antes de que el sistema finalmente se apague.
Conclusión
Esperamos que los pasos descritos en esta guía le hayan dado una idea de cómo puede ejecutar un script de shell usando systemd en un sistema Linux.
-
Artículos
- La versión candidata a la versión GIMP 3.0 ya está disponible para pruebas públicas
- Cómo ejecutar aplicaciones Android en Linux
- Cómo formatear discos en Linux desde la línea de comandos
- Cuarenta y tres monos escapan de un laboratorio de investigación en Estados Unidos
- Intel observa una mejora del rendimiento del 3888,9 % en el kernel de Linux: a partir de una línea de código
- Cómo crear un túnel SSH en Linux
- Cómo configurar el firewall UFW en Ubuntu en 5 minutos
- Linux Lite acaba de incorporar una útil función de inteligencia artificial para el escritorio, y es más sutil de lo que cree
- Cómo instalar Linux en una unidad USB y ejecutarlo en cualquier PC
- Phoca Desktop System Plugin 4.0.5 publicado
- Herramientas de IA para Traducciones Precisas y Naturales: Cómo Optimizar el Proceso
- 6 características que desearía que MacOS copiara de Linux
- Malware en Android: VPN y Apps Peligrosas en Play Store
- Probar el micrófono en Linux usando terminal o shell
- ¿Qué es peor que atrasar el reloj una hora? El horario de verano permanente