On 02/18/2010 03:38:55 PM, Rick Sewill wrote:
On Thu, 2010-02-18 at 12:05 -0700, Craig White wrote:
On Thu, 2010-02-18 at 10:01 -0800, Geoffrey Leach wrote:
In /etc/crontab, I have this line: 30 * * * * /home/root/fix_mail
root@mtranch[221]->ls -l /home/root/fix_mail -rwxr-xr-x 1 root root 1324 2010-02-18 07:04 /home/root/fix_mail*
Crond sees this and says (from /var/log/cron) Feb 18 07:06:01 mtranch crond[1362]: (CRON) bad command
(/etc/crontab)
/home/root/fix_mail is a perl script, root@mtranch[222]->head -1 /home/root/fix_mail #!/usr/bin/perl
And executes correctly when run from the command line.
Any thoughts on what the source of the complaint might be?
generally people make the mistake of assuming an environment where
a
cron script would not have so for example, running...
ls assumes the environment of /bin so if you want to bury it in a
script
run from cron, you would replace 'ls' with '/bin/ls' if you want it
to
run... etc. Always provide absolute paths to scripts that may
possibly
be run without an environment. Don't take for granted that whatever
you
get for 'echo $PATH' will also be the same for a script.
Thanks Craig and Rick for the suggestions. AFAICT the problem is with the processing of the crontab file itself, not with the execution of the command. FWIW, when the command is executed from /etc/cron.hourly it works without a problem.