El propósito de este artículo es configurar un script como Bash o Python para que se ejecute al iniciar el sistema en Ubuntu 22.04 Jammy Jellyfish Server/Desktop.
En este tutorial aprenderás:
- Cómo crear una unidad de servicio de Systemd
- Cómo crear un script de verificación de espacio en disco simple
- Cómo establecer permisos para el archivo de la unidad de servicio de Systemd
- Cómo establecer permisos de secuencias de comandos
- Cómo habilitar la unidad de servicio de Systemd para que se ejecute al iniciar el sistema
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | Ubuntu 22.04 Medusa Jammy |
Software | N/A |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Instrucciones paso a paso sobre cómo ejecutar un script al iniciar en Ubuntu 22.04
Ubuntu 22.04 se basa en Systemd, por lo tanto, la forma más sencilla y recomendada de ejecutar un script al inicio es crear un archivo de servicio de Systemd y ejecutar cualquier script como bash, python, etc., a través de este servicio durante el arranque del sistema.
Los pasos a continuación le mostrarán cómo ejecutar un script bash de ejemplo que informa sobre el uso del espacio en disco de /home
directorio y guarda el informe en el /root
directorio cada vez que se inicia el sistema Ubuntu 22.04.
- Primero, cree un archivo de servicio de Systemd como en el ejemplo a continuación. Guardaremos este archivo como
/etc/systemd/system/disk-space-check.service
.[Unit]
After=network.service
[Service]
ExecStart=/usr/local/bin/disk-space-check.sh
[Install]
WantedBy=default.target
Después :indica a systemd cuándo se debe ejecutar el script. En nuestro caso, el script se ejecutará después de la conexión a la red. Otro ejemplo podría ser mysql.target, etc.
ExecStart :este campo proporciona una ruta completa al script real que se ejecutará al iniciar
WantedBy :En qué destino de arranque debe instalarse la unidad systemd
NOTA
Para obtener más información sobre cómo crear una unidad de servicio Systemd, ejecute man systemd.unit
comando.
- Cree un script para que se ejecute al iniciar el sistema Ubuntu. Como se especifica en el Paso 1 anterior, la ruta y el nombre del nuevo script en nuestro ejemplo serán
/usr/local/bin/disk-space-check.sh
.
El siguiente es un ejemplo de dicho script:
#!/bin/bash
date > /root/disk_space_report.txt
du -sh /home/ >> /root/disk_space_report.txt
- Establezca los permisos adecuados para la unidad de servicio de Systemd y el script:
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh
$ sudo chmod 664 /etc/systemd/system/disk-space-check.service
- A continuación, habilite la unidad de servicio:
$ sudo systemctl daemon-reload
$ sudo systemctl enable disk-space-check.service
- Ahora está listo para reiniciar su sistema. Una vez que el sistema se inicie, debería ver el siguiente archivo que contiene el uso del espacio en disco dentro de su
/root
directorio:
$ sudo ls /root/
disk_space_report.txt
Pensamientos finales
En este tutorial, vimos cómo configurar Ubuntu 22.04 para ejecutar un script en cada inicio del sistema. Esta es una función útil para que los administradores del sistema la implementen para asegurarse de que se ejecute un script Bash o Python cada vez que se cargue Ubuntu desde un reinicio del sistema.