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
* * * * * /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
* * * * * /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
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="[email protected]"
.
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.