2012-10-12 41 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