2012-10-12 45 views
-2

我创建一个cron作业我的GoDaddy的服务器上,名为“SponUpdate.sh”GoDaddy的计划作业问题与壳牌和Perl脚本

这里是这个文件

#!/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作业运行它告诉我以下错误,

“/ bin/sh:/var/chroot/home/content/14/5959214/html/cgi/SponUpdate.sh:/ bin/bash:糟糕的解释器: Permission denied“

她e是对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天内解决它,

请帮助我,提前

感谢,代码

Regards,

+0

似乎是显而易见的'。 ..拒绝'。联系您的管理员。 –

+0

我问过godaddy团队,但没用,他们让我准备好支持链接。这是一个链接:什么是Cron Job? – Shabi

+0

尝试在脚本中从bash更改为sh。也许你没有bash权限,但是对sh执行权限。 –

回答

0

您可以使用

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

+0

感谢您的回答,请让我知道如何使用此脚本? '哪bash' 以及我如何看到回应?因为我是一个PHP开发人员 – Shabi

+0

这是一个unix程序;你需要一个终端账号来使用这个程序。 – Bytemain

+0

我该如何检查unix程序?正如我已经告诉过你,我没有多少家庭UNIX等 – Shabi

2

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

检查您的bash脚本不包含 “\ r \ n” 行中的结尾:你可能会试图调用 “/斌/庆典\ r”,而不是 “/斌/庆典”

+0

这里是我的代码,请检查是否有ny \ r或\ n '#!/ 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' – Shabi

+0

其实在.sh文件中不添加PHP脚本的原因是代码超过2000行和数据库连接等 – Shabi