Is cron emails bugging you? And looking on how to stop cron daemon emails?
Execessive emails from cron jobs will always create problems. Fortunately, there are multiple ways to avoid cron emails including suppressing the cron output, removing cron mail option, etc.
At Bobcares, we often receive customer requests on how to stop cron daemon emails as part of our Server Management Services.
Today, let’s have a deep check on these cron emails and see how our Support Engineers stop these mails for our customers.
Cron daemon emails
In some cases, we need to run specific tasks at pre-defined intervals. And, cron is a Linux task scheduler that ensures scripts run at specific times.
It is mainly used to run backup scripts, log rotation, update file indexes, run custom scripts and so on.
We define cron job on a single line by defining a time interval, a user to run the command and the command to run.
By default, cron will email the executing user with any output or errors. Usually, we receive the output and errors of the cron job as emails. But, when cron daemon run many commands for a specific user, it will create an excessive number of emails.
How to stop cron daemon emails
So far we have discussed the cron job and the cron emails.
Many of our customers contact us to help them to get rid of excessive cron emails.
So now, let’s get into the different methods that our Support Engineers use to stop receiving these emails.
1. Setting the MAILTO variable
The results of executing commands in the crontab are sent as emails to the user. For that, the cron will check the MAILTO variable.
The default value of the MAILTO variable is root. Changing the MAILTO variable to blank will disable all emails from the cron daemon.
We do this by editing the /etc/crontab file and reset the MAILTO variable.
MAILTO=""
This will disable all the cron daemon emails.
2. Redirecting errors and output to null
Similarly, we can disable mail alerts by redirecting the output and errors to null.
So, to disable it for a specific crontab entry, we redirect all the output of the script to /dev/null.
/dev/null 2>&1
This command will disable all the output including error messages.
We do not recommend this method, since suppressing the errors will make the debugging troublesome.
Therefore, our Dedicated Engineers suggest a better option to redirect STDOUT only to /dev/null. Then, the crond will send emails only when some error occurs.
3. Configuring crond
In a similar way, disabling the mail feature in crond can prevent the daemon emails. We edit the /etc/sysconfig/crond file and make changes in the CRONDARGS string.
CRONDARGS= -s -m off
The “-s” argument will send the output to the system log. This helps to have the logs of output and errors.
Also, the “-m off” argument disables crond from sending the cron job output as emails.
This will prevent the mail alerts effectively.
[Need assistance to stop cron daemon emails?- We are available 24/7.]
Conclusion
In short, we can stop cron emails by setting the MAILTO variable, redirecting errors and outputs to null, configuring crond and so on. In today’s write-up, we also saw how our Support Engineers fix this for our customers.
0 Comments