En este artículo, aprenderá cómo ejecutar secuencias de comandos (python, bash, etc.) al iniciarse en Ubuntu 20.04 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

Cómo ejecutar un script al inicio en Ubuntu 20.04 Focal Fossa KDE Server/Desktop
Requisitos de software y convenciones utilizadas
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 20.04 instalado o Ubuntu 20.04 Focal Fossa actualizado |
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 |
Cómo ejecutar un script al inicio en Ubuntu 20.04 instrucciones paso a paso
Ubuntu 20.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.
- Primero, cree un archivo de servicio de Systemd como en el siguiente ejemplo:
[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 inicio
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
dominio.
- 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 es
/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
- Luego 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