Tuesday, May 29, 2012

Linux / UNIX: Change Crontab Email Settings ( MAILTO )

Q. I'd like to send email to user@example.com instead of default root user. How do I change email settings under crontab file?

A. A crontab file contains instructions to the cron daemon.
An active line in a crontab will be either an environment setting or a cron command. An environment setting is of the form:
 name = value
where the spaces around the equal-sign (=) are optional, and any subsequent non-leading spaces in value will be part of the value assigned to name. The value string may be placed in quotes (single or double, but matching) to preserve leading or trailing blanks. The value string is not parsed for environmental substitutions, thus lines like
PATH = $HOME/bin:$PATH
will not work as you might expect.

MAILTO Variable

In addition to LOGNAME, HOME, and SHELL, cron will look at MAILTO if it has any reason to send mail as a result of running commands in "this" crontab. If MAILTO is defined (and non-empty), mail is sent to the user so named. First open your crontab file:
# vi /etc/crontab
OR
$ crontab -e
To send email to vivek@nixcraft.in, enter:
MAILTO=vivek@nixcraft.in
If MAILTO is defined but empty (MAILTO=""), no mail will be sent.
MAILTO=""
Otherwise mail is sent to the owner of the crontab.

No comments:

Post a Comment