# Uso de Cron en Linux, Ejecución de Tareas Programadas y Gestión de Notificaciones por Correo

- Link: https://binariocero.com/linux/uso-de-cron-en-linux-ejecucion-de-tareas-programadas-y-gestion-de-notificaciones-por-correo
- Published: 2025-04-27T09:53:29+02:00
- Author: Juan José Fernández Durán

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

En sistemas Linux, `cron` es una utilidad muy potente que permite programar tareas
automáticas para que se ejecuten a intervalos regulares. Estas tareas se configuran
en lo que se conoce como "crontab" (cron table). A continuación, explicamos algunas
formas comunes de programar trabajos (`cron jobs`), controlando también las notificaciones
por correo electrónico que estos generan.

### 1. Tarea programada con notificación por correo

    ```wp-block-preformatted
    * * * * * /path/to/your/script.sh
    ```

Esta línea configura la ejecución del script `/path/to/your/script.sh` **cada minuto**.

Por defecto, si el script genera alguna salida estándar (stdout) o de error (stderr),`
cron` enviará esta salida por correo electrónico al usuario que ejecuta el `cron
job`. Esto es útil para detectar fallos o confirmar el correcto funcionamiento de
las tareas programadas.

**Importante:** Para que el correo funcione, el servidor debe tener instalado y 
configurado un servicio de envío de correos (como `sendmail` o `postfix`).

### 2. Tarea programada con notificación de correo desactivada

    ```wp-block-preformatted
    * * * * * /path/to/your/script.sh >/dev/null 2>&1
    ```

Aquí se ejecuta la misma tarea, pero **se desactiva el envío de correos** redirigiendo
toda la salida estándar (`stdout`) y de error (`stderr`) a `/dev/null`.
`/dev/null`
actúa como un "agujero negro" donde se descartan los datos, de modo que no hay salida
que enviar, y por tanto no se generan correos electrónicos.

**Explicación de la redirección:**

 * `>` redirige la salida estándar.
 * `/dev/null` es el destino donde se envía la salida.
 * `2>&1` indica que la salida de error (descriptor 2) también se redirige hacia
   donde va la salida estándar (descriptor 1).

### 3. Desactivar el correo para todas las tareas de cron

    ```wp-block-preformatted
    MAILTO=""* * * * * /path/to/your/script.sh
    ```

En este caso, antes de la definición de la tarea, se establece la variable `MAILTO`
como una cadena vacía (`""`). Esto **desactiva el envío de correos para todas las
tareas** definidas a continuación en ese mismo archivo de crontab, incluso si los
comandos producen salida.

**Notas:**

 * `MAILTO` se puede definir al principio del archivo o justo antes de tareas específicas.
 * Si se desea enviar los correos a una dirección distinta a la del usuario, también
   se puede establecer `MAILTO="tu-email@dominio.com"`.

## Conclusión

La flexibilidad de `cron` permite no solo automatizar tareas de administración y
mantenimiento, sino también controlar cómo se gestionan los avisos sobre su ejecución.
Según la necesidad, puedes:

 * Recibir notificaciones automáticas para estar al tanto de errores.
 * Silenciar completamente las salidas para tareas que no requieran supervisión 
   constante.

La correcta configuración de estas opciones contribuye a una operación más limpia,
eficiente y controlada en cualquier sistema Linux.
