Establecer MAILTO=user@example.orgen /etc/cron.daily/foono funciona. La salida del script no se envía a user@example.org.
La página en http://www.unixgeeks.org/security/newbie/unix/cron-1.html también sugiere una solución simple:
El archivo /etc/cron.daily/fooahora contiene lo siguiente:
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org
Esto enviará un correo electrónico a 'stefanl@example.org' con el asunto que es igual a la ruta completa del guión (por ejemplo /etc/cron.daily/foo).
Esto es lo que dice Unixgeeks.org sobre esto:
Salida de cron
Como he dicho antes, la salida de cron se envía por correo al propietario del proceso, oa la persona especificada en la variable MAILTO, pero ¿qué pasa si no quieres eso? Si desea enviar la salida a otra persona, simplemente puede canalizar la salida al correo de comando. p.ej
cmd | mail -s "Asunto del correo" usuario
A veces, solo quiero recibir los errores de un cronjob, no el stdout, así que utilizo este truco. La sintaxis puede parecer incorrecta a primera vista, pero puede estar seguro de que funciona. El siguiente cronjob enviará STDOUT a / dev / null, y luego manejará STDERR a través de la canalización.
doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org
Lo mismo, pero enviar a syslog:
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
También vea mi respuesta en ServerFault a Cronjob stderr para archivar y enviar por correo electrónico
/etc/crontabno especifica valores predeterminados.