2009-11-17 53 views
1

我正在嘗試創建一個cron作業,它將發送每週通訊。我試圖按照Cakephp manual的說法創建shell任務。然後我去媒體寺cron作業和鍵入以下內容:Cakephp Shell Cronjob Controller Action Media Temple Server

php /home/#####/domains/domain.com/html/cake/console/cake -app /home//#####//domains/domain.com/html/vendors/shells newsletter

我創建了供應商/外殼文件夾殼任務和newsletter.php命名它,這裏是它的代碼:

class NewsletterShell extends Shell { 

    function main() { 

    $this->sendEmailTo("Newsletter","subject","[email protected]"); 


    } 
} 

sendEmailTo是我的appController中的一個控制器函數,所以我所有的控制器都可以訪問它。

我的問題是每一個cron作業運行我得到這個消息時:

無法打開輸入文件:/home/#####/domains/domain.com/html/cake/console/cake

我甚至給了所有的控制檯文件(cake.php,cake.bat等)0777的讀寫性能,以及對供應商/殼/ newsletter.php

的#####是網站媒體神廟給你的數字,但我不確定我是否正確。他們表現出這樣的cron作業的例子:/home/50838/data/script-name.sh

所以我的問題是:

是我的蛋糕殼任務正確的,是我跑的方式它作爲一個cron工作準確嗎?

也沒有人知道在哪裏確認我的媒體網站的網站編號,所以我可以把它寫成一個可能的錯誤。

由於提前,

的Fabian

回答

1

您可以嘗試var_dump(ROOT)或其他Core Definition Constants中的任何一個找到你的目錄。只需將它放在某個控制器方法中,但一定要再次將其刪除。或者,如果您有SSH訪問權限,請在命令行上執行pwd

除此之外,當調用cake控制檯任務時,-app參數應該指向app目錄,而不是shells目錄。


嘗試使用this script來運行你的shell作爲cron作業,可能會有一些遺漏殼瓦爾。

+0

vad_dump(根)偉大的工作,我嘗試過了,得到了真正的網站數量也做了新的LS-與LD /家/ ##### /和它給了我這樣的: drwxr -xr-x 9 root domain.com 9 Sep 12 05:13/home/#####/ and for ls -l /home/#####/domains/domain.com/html/cake/控制檯/蛋糕 -rwxrwxrwx 1 domain.com domain.com 987 Oct 29 01:13 /home/#####/domains/domain.com/html/cake/console/cake – 2009-11-17 18:24:13

+0

好吧,現在好了cron工作似乎工作,但它沒有運行主要功能上的內容。這是我收到的輸出。 http://bin.cakephp.org/view/904014056 – 2009-11-17 22:57:21

+0

即使我改變cronjob,我也嘗試過: php /home/#####/domains/domain.com/ html/cake/console/cake newsletter php /home/#####/domains/domain.com/html/cake/console/cake newsletter top10 top10是newsletter.php shell中的一個函數。 他們都給出了相同的迴應:bin.cakephp.org/view/904014056 – 2009-11-17 23:21:31

0
ls -l /home/#####/domains/domain.com/html/cake/console/cake 

說什麼? cron作業是否以用戶#####的形式運行?如果不是,問題大概是權限的/ home/##### /,檢查它們與

ls -ld /home/#####/ 
+0

ls:/ home/#####/:沒有這樣的文件或目錄 ls:/home/####/domains/domain.com/html/cake/console/cake:沒有這樣的文件或目錄 所以我想我的網站號碼是錯誤的。 – 2009-11-17 18:00:24

0

。你有在「蛋糕/控制檯」目錄執行權限「蛋糕」的文件,以及蛋糕.php和cake.bat?

cron命令應該是:

PHP /home/#####/domains/domain.com/html/cake/console/cake通訊-app /家/ ##### /域/域。COM/HTML /應用

+0

Yup已經授予他們可執行權限,問題出在網站編號上,以及我如何清楚地指出我正在調用cron作業。 – 2009-11-17 22:58:08

相關問題