2013-07-12 167 views
0

我已經把一個cron作業的網頁上我的網站。我用的命令是:cron作業不工作

30 */1 * * */twitter/index.php 

我想這個頁面刷新每隔一小時開始上午12:30(凌晨1:30,上午2:30等)。我已經把我的電子郵件,這樣我可以收到錯誤,我得到的錯誤是

/bin/sh: 30: command not found 

我的主人是「Justhost的」(它支持Cron作業中的cPanel)

頁位於:
www.DOMAINNAME.com/twitter/index.php

感謝。

回答

1

/twitter/index.php搜索系統根目錄名爲twitter的目錄。這是不太可能的。它可能是你的域的根,但它不是你網站的文件系統目錄的根。

相反,它或許應該是這樣的: /home/youraccountnumber/yourdomainname/twitter/index.php

至少這是我的cPanel還支持cron作業。當我創建一個新的cron,部分/home/myaccountnumber已填入:)

的cPanel還告訴我:

Sample cron commands: 
/usr/local/bin/php /home/*myaccount*/domains/domain.com/public_html/script.php 
/usr/local/bin/curl --silent http://www.domain.com/cron.php > /dev/null 
/usr/local/bin/wget -O /dev/null http://www.domain.com/cron.php 

所以,如果你沒有這個信息,請聯繫您的主機找確定使用哪條確切路徑。他們很可能有關於該主題的文檔。

+0

完美!我這樣做的方式是這樣的: php /home/username/public_html/cron.php 只是把它放在那裏,因爲別人有同樣的問題:) –

0

你應該執行的命令是從根到您要運行特定的PHP文件的文件夾的完整路徑。大多數CPanel將在其他地方設置時間設置,併爲您創建cron表達式。只需在命令字段中輸入文件的路徑即可。

1

如果這個命令:

30 */1 * * */twitter/index.php 

是給你這個錯誤:

/bin/sh: 30: command not found 

然後你想執行它作爲一個shell命令。

要設置cron命令,必須將其提供給crontab命令。要做到這一點,最好的辦法,恕我直言,是創建一個文件(或許$HOME/.crontab)與格式正確的crontab項,然後執行:

% crontab $HOME/.crontab 

換句話說,不執行crontab文件,將其提供給命令crontab

還要注意,你必須在字段之間有空格。前5個字段指定命令運行的時間;其餘部分是命令本身。您在第5個字段和其餘字段之間沒有空格。另外,*/1更簡單地寫爲*。所以這個:

30 * * * * /twitter/index.php 

將是正確的線投入你的crontab如果你想在每一個小時30分鐘後,運行/twitter/index.php

這個假設index.php是一個可執行文件,位於文件系統根目錄下,名爲twitter,這可能有點奇怪。如果它在別的地方,則應該指定要執行的命令的完整路徑。克倫工作在有限的環境中運行;尤其是,它們可能與您在交互式shell中不具有相同的$PATH