Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

You would like to be notified via email of errors occurring while executing cron jobs.

I use CentOS and the file /etc/crontab for the configuration.

The first step I have done is:

MAILTO=my_email_address

and then I have appended this to each crontab entry:

2>/dev/null

That means this

24 4 * * * root /usr/sbin/ntpdate pool.ntp.org

becomes:

24 4 * * * root /usr/sbin/ntpdate pool.ntp.org 2>/dev/null

In that way I should suppress the normal output and let error messages be sent.

I would like to know if you think what I have done is right and whether that has got any pitfall.

Thanks, Dan

share|improve this question
    
Based on the other users' feedback the correct way is: 24 4 * * * root /usr/sbin/ntpdate pool.ntp.org > /dev/null –  dan Nov 10 '10 at 12:38

2 Answers 2

up vote 2 down vote accepted

Actually, I think you've done the exact reverse of what you wanted; you've suppressed the error messages (by sending STDERR to /dev/null) and will get only the normal output.

Try

24 4 * * * root /usr/sbin/ntpdate pool.ntp.org > /dev/null

Better still, run ntpd; it's a much better way of keeping your clocks in sync than brute-force resetting them once a day.

share|improve this answer

IIRC cron emails the output of the command, so if you suppress errors (by throwing them at /dev/null) you'll receive ONLY command output and not errors. I found a nice script: cronic which wraps around commands in crontab and does exactly what you want: send emails on errors only.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.