[CentOS] use of MAILTO variable in crontab

Fri Jul 15 09:13:53 UTC 2011
Tony Mountifield <tony at softins.co.uk>

In article <22f345fb082accaea3abb2d0e9db0134.squirrel at www.bubbanfriends.org>,
Mike Burger <mburger at bubbanfriends.org> wrote:
> 
> > On Wed, Jul 13, 2011 at 9:10 PM, James B. Byrne <byrnejb at harte-lyne.ca>
> > wrote:
> >>
> >> On Wed Jul 13 15:03:40 EDT 2011, Michael Best mbest at pendragon.org
> >>  wrote:
> >>> Like this:
> >>>
> >>> MAILTO=testaddr at harte-lyne.ca
> >>> 30 2 * * * echo "this should be mailed"
> >>
> >> That sets MAILTO for the entire crontab does it not?  I want to set
> >> MAILTO differently for specific crontab entries.  Is that possible?
> >> How is it done?  Or do I have to pipe stuff to /usr/bin/mail
> >> explicitly?
> >>
> > Easy:
> >
> > MAILTO="root"
> > 30 2 * * * echo "this should be mailed to root"
> > MAILTO="james at harte.x.x"
> > 30 4 * * * echo "this should be mailed to James"
> > MAILTO="bob"
> > 30 5 * * * echo "this should be mailed to Bob"
> > MAILTO=""
> > 30 6 * * * echo "this should be mailed to no-one"
> 
> Why not simply do one of the following:
> 
> 30 6 * * * /path/to/job 2>&1 | mail -s "<job name> output" user at domain
> .com

Because that will generate an email every time the job runs. Doing it
by setting MAILTO in the crontab will only generate an email if the job
produces output. This can be significant if you only want to know when
the job has something to say or encounters a problem.

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org