[CentOS] use of MAILTO variable in crontab

Thu Jul 14 17:38:39 UTC 2011
Rudi Ahlers <Rudi at SoftDux.com>

On Thu, Jul 14, 2011 at 7:28 PM, 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
>
> Or
>
> Within the script that runs the job, send the output of the to a file,
> then cat the contents of the file through
>
> mail -s "<job name> output" user at domain.com
> --
> Mike Burger
> http://www.bubbanfriends.org



I suppose it depends on which option you prefer :)


But, I think if your crontab has many lines then it's a bit easier to
use the method I suggested.


For example:

MAILTO="root"
line1
line2
line3
.....
.....
line9


MAILTO="support-dept"
line10
line11
line12
......
......
line13
line14



MAILTO=""
line15
line16
etc

-- 
Kind Regards
Rudi Ahlers
SoftDux

Website: http://www.SoftDux.com
Technical Blog: http://Blog.SoftDux.com
Office: 087 805 9573
Cell: 082 554 7532