Anular MAILTO para una sola entrada crontab

20

Tenemos una cuenta de roles en el trabajo que tiene un crontab bastante grande. Su MAILTO apunta a una dirección compartida, para que algunos de nosotros recibamos una notificación si algo falla.

Me gustaría agregar una entrada a este crontab, pero solo quiero que me notifiquen si algo sale mal. ¿Hay alguna manera de cambiar MAILTO para esta entrada, o lograr mi objetivo?

Miguel
fuente
Otro enfoque para los sugeridos hasta ahora, es utilizar la función que envía correos electrónicos cron al usuario que está ejecutando el trabajo, por lo que debe hacer otro usuario solo para este trabajo y reenviarle sus correos electrónicos.
Hayden Thring

Respuestas:

21

Siempre puedes hacer:

MAILTO=you
* * * ...  your cron job
MAILTO=normal.destination
freiheit
fuente
1
¿Las personas que votaron por esto realmente lo probaron? Si es así, ¿qué implementación cron?
user1338062
Lo probé con el cron ICS / Vixie que se incluye con Ubuntu 14.04 ("3.0pl1-124ubuntu2"), y funciona bien allí.
Nils Toedtmann
Feo, pero casi la única forma de resolver esto. ¡Trabajos!
Stamster
10

Siempre puede canalizar toda la salida al comando de correo con la dirección correcta en una subshell. Mientras no haya nada en STDOUT o STDERR, cron no enviará el correo electrónico

10 * * * * sh -c 'thisonecommand 2> & 1 | correo [email protected] '

Anthony DeStefano
fuente
1
Esto no funciona: el comando "mail" se envía independientemente de si obtiene o no salida. Entonces recibo un mensaje vacío sobre el éxito, mientras que lo que quiero no es un mensaje sobre el éxito.
mike
55
¡Agradable! Y para evitar correos electrónicos vacíos del comando de correo, use este parámetro: -e (o -E para algunos ...)
3

No recuerdo si cron prepara el archivo para leerlo en el entorno vars, por lo que no estoy seguro de si puede cambiar MAILTOvarias veces en un solo archivo. Pero siempre puede dividirlo en otro archivo y colocarlo /etc/cron.d/foocon un [email protected].

Brendan
fuente