# Configuración de un Comando o Script al Inicio o Reboot Usando crontab

- Link: https://binariocero.com/linux/configuracion-de-un-comando-o-script-al-inicio-o-reboot-usando-crontab
- Published: 2024-12-04T15:54:50+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

n sistemas operativos basados en Linux, ejecutar comandos al inicio o después de
un reinicio es una tarea común. Tradicionalmente, esto se lograba utilizando el 
archivo `rc.local`. Sin embargo, con la modernización de sistemas y la transición
hacia `systemd`, este archivo ya no está habilitado por defecto en muchas distribuciones.
Una alternativa eficiente y sencilla para lograr esto es usando `crontab`.

En este artículo, aprenderemos cómo configurar un comando para que se ejecute automáticamente
después de un reinicio utilizando la funcionalidad `@reboot` en `crontab`.

## ¿Qué es `@reboot` en `crontab`?

`crontab` es un administrador de tareas programadas en Linux que permite ejecutar
comandos o scripts a intervalos definidos o en momentos específicos. Uno de los 
parámetros especiales que ofrece es `@reboot`, que se utiliza para ejecutar comandos
automáticamente cada vez que el sistema se inicia.

## Configuración Paso a Paso

### 1. Editar el Archivo de Crontab

Para configurar un comando que se ejecute al reiniciar el sistema, primero debemos
acceder al archivo de `crontab` del usuario. Ejecuta el siguiente comando en la 
terminal:

    ```wp-block-preformatted
    crontab -e
    ```

Esto abrirá el editor de texto configurado para `crontab`. Si es la primera vez 
que accedes, el sistema te pedirá seleccionar un editor de tu preferencia (por ejemplo,`
nano` o `vim`).

### 2. Añadir la Tarea al Archivo

Dentro del archivo de `crontab`, añade una línea con la siguiente sintaxis:

    ```wp-block-preformatted
    @reboot /ruta/al/script.sh
    ```

Por ejemplo, si tienes un script ubicado en `/usr/local/sbin/script.sh`, la línea
quedaría así:

    ```wp-block-preformatted
    @reboot /usr/local/sbin/script.sh
    ```

### 3. Guardar los Cambios

Una vez que hayas añadido la línea, guarda y cierra el archivo. Esto dependerá del
editor que estés usando:

 * En `nano`, presiona `Ctrl + O`, luego `Enter` para guardar, y `Ctrl + X` para
   salir.
 * En `vim`, presiona `Esc`, escribe `:wq` y luego presiona `Enter`.

### 4. Verificar la Configuración

Para confirmar que la tarea se agregó correctamente, puedes listar las tareas programadas
ejecutando:

    ```wp-block-preformatted
    crontab -l
    ```

Deberías ver la línea que acabas de añadir.

## Ejemplo Práctico

Supongamos que deseas ejecutar un script que registra la hora del reinicio del sistema
en un archivo de log. Puedes crear el script `log_reboot.sh` con el siguiente contenido:

    ```wp-block-preformatted
    #!/bin/bashecho "Sistema reiniciado: $(date)" >> /var/log/reboot.log
    ```

Luego, asegúrate de que el script tenga permisos de ejecución:

    ```wp-block-preformatted
    chmod +x /ruta/a/log_reboot.sh
    ```

Finalmente, añádelo a `crontab` con la siguiente línea:

    ```wp-block-preformatted
    @reboot /ruta/a/log_reboot.sh
    ```

## Consideraciones Finales

 1. **Permisos:** Asegúrate de que el usuario que configura `crontab` tiene permisos
    para ejecutar el script o comando.
 2. **Rutas Absolutas:** Siempre utiliza rutas absolutas para evitar problemas al ejecutar
    los comandos.
 3. **Logs:** Es útil redirigir la salida de tus comandos a un archivo de log para 
    depurar posibles errores.

Con este método, puedes configurar tareas al inicio del sistema de forma sencilla,
sin necesidad de depender de `rc.local` o crear servicios personalizados en `systemd`.
