¿Cómo puedo evitar que cron me envíe por correo electrónico los resultados de los trabajos que programo?
¿Cómo puedo evitar que cron me envíe por correo electrónico los resultados de los trabajos que programo?
Respuestas:
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
o stderr
.
Si se trata de guión que ha escrito, hacerlo menos verboso - eliminar innecesarias echo
o print
declaraciones. Redirigir stdout
a /dev/null
también es una solución válida:
2 * * * * /my/script > /dev/null
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 redirigir stderr
a /dev/null
con ...
2 * * * * /my/script > /dev/null 2> /dev/null
... 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:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..entonces directo stdout
a /dev/null
su trabajo cron - de esa manera silencia el comando fuerte, sin perder mensajes de error