GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo ejecutar un script al iniciar en Ubuntu 22.04 Jammy Jellyfish Server/Desktop

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

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.

  1. 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.
  2. 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
  3. 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
    
  4. A continuación, habilite la unidad de servicio:
    $ sudo systemctl daemon-reload
    $ sudo systemctl enable disk-space-check.service
    
  5. 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.


Ubuntu
  1. Cómo instalar el escritorio Ubuntu 22.04 LTS (Jammy Jellyfish)

  2. Cómo actualizar Ubuntu a 22.04 LTS Jammy Jellyfish

  3. Cómo instalar Ubuntu 22.04 Jammy Jellyfish Desktop

  4. Cómo ejecutar un script al iniciar en Ubuntu 20.04 Focal Fossa Server/Desktop

  5. Cómo instalar fail2ban en Ubuntu Server 22.04:Jammy Jellyfish

Cómo instalar el escritorio MATE en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo configurar una dirección IP estática en Ubuntu 22.04 Jammy Jellyfish Desktop/Server

Cómo ejecutar el servidor Tomcat al inicio en el servidor Ubuntu

Cómo instalar Plex Media Server en Ubuntu 16.04 Server/Desktop

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar Plex Media Server en Ubuntu 20.04 LTS Server/Desktop

    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