¿Cómo puedo evitar que cron me envíe por correo electrónico los resultados de los trabajos que programo?
10
Al establecer la variable de entorno "MAILTO" como ""
Algo como:
SHELL=/bin/bash
MAILTO=
01 * * * * /your/path/to/script/here.sh
Si desea que un solo trabajo detenga el correo electrónico, simplemente agregue> / dev / null 2> & 1 a él
Por ejemplo:
0 * * * * /home/script >/dev/null 2>&1
Cron solo te envía un correo electrónico si hay salida, ya sea en
stdout
ostderr
.Si se trata de guión que ha escrito, hacerlo menos verboso - eliminar innecesarias
echo
oprint
declaraciones. Redirigirstdout
a/dev/null
también es una solución válida:Si aún recibe mensajes después de hacer eso, la salida está activada
stderr
, por lo que debería ser un error, que debe resolver. Si no, puede redirigirstderr
a/dev/null
con ...... aunque ignorar los mensajes de error es generalmente una mala idea. (¿Cómo sabrá cuando el trabajo cron está roto?)
Puede redirigir la salida de un comando específico de stderr a stdout usando
2>&1
, por ejemplo:..entonces directo
stdout
a/dev/null
su trabajo cron - de esa manera silencia el comando fuerte, sin perder mensajes de errorfuente