Crontab Failure Emails
The emails vary in subject line but include:
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/bin/dcpumon >/dev/null 2>&1
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/whostmgr/bin/dnsqueue > /dev/null 2>&1
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/scripts/cpremotetaskadmin > /dev/null 2>&1
Cause:
root's crontab at /var/spool/cron/root was modified outside Linux at some point and corrupted for the line endings.
Problem Test:
Run the following conmmand.
# file /var/spool/cron/root
The output should be like this if there is no error with the file: /var/spool/cron/root: ASCII text
If you are getting an output like the folowing, the file is modified with some unsupported terminators.
Solution:
# strings /var/spool/cron/root > /var/spool/cron/root.tmp
# mv /var/spool/cron/root.tmp /var/spool/cron/root
Here, strings command convert the characters in the file into unix readable format. So all the unsupported characters will be supported by unix.
Run the following command to test the problem is soved,
# file /var/spool/cron/root
If you are getting the above output, the problem of getting cron failure emails solved.
Note:- The problem can occur with any crontab files. So, if you have any problem with any other crontab files, you can solve then by the above method.
You can also use
# dos2unix -b /var/spool/cron/root
instead of strings command
The emails vary in subject line but include:
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/bin/dcpumon >/dev/null 2>&1
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/whostmgr/bin/dnsqueue > /dev/null 2>&1
/bin/sh: 1 : ambiguous redirect - Cron <root@host> /usr/local/cpanel/scripts/cpremotetaskadmin > /dev/null 2>&1
Cause:
root's crontab at /var/spool/cron/root was modified outside Linux at some point and corrupted for the line endings.
Problem Test:
Run the following conmmand.
# file /var/spool/cron/root
The output should be like this if there is no error with the file: /var/spool/cron/root: ASCII text
If you are getting an output like the folowing, the file is modified with some unsupported terminators.
/var/spool/cron/root: ASCII text, with CRLF, LF line terminators
Solution:
# strings /var/spool/cron/root > /var/spool/cron/root.tmp
# mv /var/spool/cron/root.tmp /var/spool/cron/root
Here, strings command convert the characters in the file into unix readable format. So all the unsupported characters will be supported by unix.
Run the following command to test the problem is soved,
# file /var/spool/cron/root
/var/spool/cron/root: ASCII text
If you are getting the above output, the problem of getting cron failure emails solved.
Note:- The problem can occur with any crontab files. So, if you have any problem with any other crontab files, you can solve then by the above method.
You can also use
# dos2unix -b /var/spool/cron/root
instead of strings command