disable-email-sending-cron

Cómo deshabilitar las alertas por correo del proceso cron de linux

De forma normal siempre que programamos una tarea en el cron de Linux, vamos a ver que al ejecutarse nos va a mandar un correo al root, tanto si tenemos asignado un servidor de correo como si lo estamos mandando con un servidor de correo externo. Vamos a ver de forma sencilla como evitar el envío de correos de las tareas cron en linux.

A diferencia de lo que podemos pensar, no vamos a tener que modificar configuraciones internas en las tareas, o deshabilitar de alguna forma el sistema de correo, sino que podremos hacer que las tareas que nosotros queramos dejen de enviarnos emails, o podremos hacer que ninguna de ellas los envíen con una simple porción de código.

Lo normal es que utilicemos las tareas cron para cualquier cosa, pero por suerte lo que vamos a ver es compatible con cualquier tipo de ejecución, por lo que no tenemos que preocuparnos si es una ejecución de una línea o script de shell, un archivo en php, python o cualquier otra línea de comando que necesitemos.

Deshabilitar el envío de emails al ejecutar comandos en cron

Como hemos comentado la solución va a ser muy simple, supongamos que nuestra línea a ejecutar es la siguiente

/var/script.sh

Para hacer que deje de enviar correos simplemente le añadiremos lo siguiente al final

>/dev/null 2>&1

De forma que nos quede así

/var/script.sh >/dev/null 2>&1

Para añadirlo podemos hacerlo con el gestor de cron que utilicemos normalmente, o desde la consola de comandos escribiendo crontab -e para abrir el editor. Una vez en el editor añadiremos esa porción de código a todas las ejecuciones que no queramos recibir en el email.

Léete también  Cómo trabajar sin conexión con Google Docs

Con estos sencillos pasos podremos tener una forma selectiva de recibir alertas, sin tener que modificar el servicio de correo ni nada por el estilo. Puede que nos parezca algo tedioso si solemos dar de alta muchas tareas normalmente, pero una vez que lo memoricemos simplemente debemos añadirlo al final de cada línea que no nos interese recibir en el correo.

Deshabilitar por completo las alertas de mail en las tareas cron

Si por el contrario no queremos que ninguna de las tareas que pongamos en el cron nos envíe ninguna alerta sin tener que poner la coletilla en todas las líneas, podemos ejecutar directamente lo siguiente

crontab -e

y en la parte superior del archivo (antes de las líneas con las tareas) introduciremos la siguiente línea

MAILTO=""

de esta forma el cron utilizará el mail que hayamos configurado en su mismo archivo en lugar del que tenga cada usuario y al estar vacío dejará de enviar notificaciones.

¿Te molestan los correos de las tareas cron? ¿Cómo lo has solucionado tú?


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.