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.
Craig