Shell和Perl Script的GoDaddy Cron Job问题

时间:2012-10-12 13:04:55

标签: php perl cron cgi shellexecute

我在GoDaddy服务器上创建了一个名为“SponUpdate.sh”的Cron作业

这是此文件的代码

#!/bin/bash

/usr/bin/perl /home/content/14/5959214/html/cgi/JLLoadSponFRJ.pl
/usr/bin/perl /home/content/14/5959214/html/cgi/JLLoadSponMGJ.pl
/usr/bin/perl /home/content/14/5959214/html/cgi/JLLoadSponCAD.pl
/usr/bin/perl /home/content/14/5959214/html/cgi/JLLoadSponCJB.pl

现在的问题是当这个cron Job运行时,它说我跟着错误,

“/ bin / sh:/var/chroot/home/content/14/5959214/html/cgi/SponUpdate.sh:/ bin / bash:bad interpreter:Permission denied”

这是Perl文件“JLLoadSponFRJ.pl”之一的代码

my $command = '/web/cgi-bin/php5 -q $HOME/html/GISJobs/JLLoadSpon.php';
exec ($command) or print STDERR "couldn't exec $command: $!";

我无法在过去3天内解决此问题,

请帮助我,

提前致谢,

此致

2 个答案:

答案 0 :(得分:2)

所以你启动了一个运行bash脚本的cron作业,该脚本调用一些调用php的perl脚本。你为什么不直接从cron调用php?

检查您的bash脚本是否包含“\ r \ n”行结尾:您可能尝试调用“/ bin / bash \ r \ n”而不是“/ bin / bash”

答案 1 :(得分:0)

您可以使用

which bash
检查bash路径,然后您可以更正perl脚本的shebang!#/ bin / bash。