Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
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/nulles el destino donde se envía la salida.2>&1indica 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:
MAILTOse 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.