LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
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
- Cómo Utilizar Colores en Shell Script para Mejorar la Presentación en la Terminal
- La Primera Página Web de la Historia, una Reliquia Digital que Podría ser Patrimonio de la Humanidad
- Cómo encontrar diferencias y comparar 2 Archivos con Linux
- ¿Podrían los avances tecnológicos y de inteligencia artificial traer una nueva era de evolución?
- Es oficial: Linux Kernel 6.6 será LTS y tendrá soporte hasta diciembre de 2026
- El avión de Hidrógeno supersónico español que cambiará el futuro de la aviación
- Así se creó un clon de 'Angry Birds', usando sólo a GPT-4, DALL-E 3 y MidJourney sin teclear una línea de código
- Japón marca un hito gigante en la búsqueda de la energía de fusión
- Cómo instalar y configurar Ansible en CentOS, RedHat, AlmaLinux y Fedora
- Cómo instalar OpenMRS en Ubuntu Linux
- La fusión cromosómica casi extingue a nuestros ancestros.
- Las mejores distribuciones de Linux para principiantes
- Spareau: El Invento de un Jubilado Francés para Ahorrar Agua y Dinero
- Cómo instalar y configurar el servidor VNC en AlmaLinux, CentOS, RHEL y Fedora Linux
- Amenazas Emergentes: Vulnerabilidades en Software Open Source Ponen en Riesgo a Linux