我通過輸入此命令添加了一個cronjob - crontab -e。我在該文件中添加了以下任務 -cron選項卡不工作php
*/5 * * * * /var/www/web/vendors/shells/aggregated_deals.php
*/5 * * * * /var/www/web/vendors/shells/deals.php
這些是php腳本。之後,我重新啓動了Apache服務器,但這些腳本沒有執行。系統日誌日誌文件爲空。 請幫我運行這個cron。
我通過輸入此命令添加了一個cronjob - crontab -e。我在該文件中添加了以下任務 -cron選項卡不工作php
*/5 * * * * /var/www/web/vendors/shells/aggregated_deals.php
*/5 * * * * /var/www/web/vendors/shells/deals.php
這些是php腳本。之後,我重新啓動了Apache服務器,但這些腳本沒有執行。系統日誌日誌文件爲空。 請幫我運行這個cron。
我不認爲你可以通過調用它這樣執行PHP文件,我總是用捲曲:
*/5 * * * * curl http://domain.com/page
或者我想你可以使用php
命令本身,如果你不運行它噸要使用Web服務器:
*/5 * * * * php /var/www/web/vendors/shells/aggregated_deals.php
無論你在crontab規則星型後會是什麼命令執行對系統。如果你在終端上運行命令「/var/www/web/vendors/shells/aggregated_deals.php」,我肯定沒有任何事情發生......你需要把它作爲一個PHP腳本來調用。
爲什麼不用正確的用戶調用php-cli?
*/5 * * * * www-data php /var/www/web/vendors/shells/aggregated_deals.php
OR
*/5 * * * * root /usr/bin/php /var/www/web/vendors/shells/aggregated_deals.php
或者類似的東西。 你已經安裝了php-cli嗎?
如果xe使用'crontab -e'作爲普通用戶,則xe應該編輯該用戶的每個用戶的crontab文件;沒有必要在那裏指定用戶。 – Piskvor
Oups!謝謝 ! –
我不認爲會自行運行 - 你需要使用PHP解釋器來運行腳本,就像這樣:
/usr/bin/php /var/www/web/vendors/shells/aggregated_deals.php
請注意,您的安裝可能有php
別處 - 使用命令which php
上命令行來找出位置。
現在我通過添加/ usr/bin/php來編輯我的crontab,但仍然沒有執行這兩個文件 – Abhimanyu
首先,您需要確保您有PHP CLI可用。你可以這樣做:
$ php -v
如果你看到一些理智的輸出,那麼PHP CLI是可用的。否則,你需要安裝它。安裝取決於您使用的發行版。
第二,如果你想直接運行CLI腳本,你需要讓他們可執行:
$ chmod +x /var/www/web/vendors/shells/aggregated_deals.php
$ chmod +x /var/www/web/vendors/shells/deals.php
三,PHP CLI腳本不相關的Apache和你不需要重新啓動它,使CLI腳本工作。
以上所有都很好-still腳本沒有運行 – Abhimanyu
您需要告訴服務器使用PHP執行文件。是否所有的stesps在Elnurs答案描述,並在cron把這些作爲你的行:
*/5 * * * * php -f /var/www/web/vendors/shells/aggregated_deals.php > /tmp/my.log 2>&1
*/5 * * * * php -f /var/www/web/vendors/shells/deals.php > /tmp/my.log 2>&1
如果不工作,你可能需要包括對PHP的完整路徑。 我也剛剛添加了一些行來使腳本記錄任何輸出。
你需要運行它的蛋糕風格...你一定會是
cake aggregated_deals > /tmp/my.log
cake deals > /tmp/my.log 2>&1
這個蛋糕是你夾餅,你應該從你的應用程序文件夾中運行它運行
cake shellName shellParam
我你的情況,並...我不知道如何從cron做到這一點,但是這是你有錯...
這asuming這些腳本是有效cakeShells
你需要告訴服務器用PHP執行文件。是否所有的stesps在Elnurs答案描述,並在cron把這些作爲你的行:
*/5 * * * * php -f /var/www/web/vendors/shells/aggregated_deals.php > /tmp/my.log 2>&1
*/5 * * * * php -f /var/www/web/vendors/shells/deals.php > /tmp/my.log 2>&1
$ chmod +x /var/www/web/vendors/shells/aggregated_deals.php
$ chmod +x /var/www/web/vendors/shells/deals.php
我知道這是發佈後很長一段時間,但它看起來像我不是唯一的一個。
反正我的建議是將路徑添加到PHP中的cron線:
*/5 * * * * /usr/bin/php -f /var/www/web/vendors/shells/aggregated_deals.php > /tmp/my.log 2>&1
*/5 * * * * /usr/bin/php -f /var/www/web/vendors/shells/deals.php > /tmp/my.log 2>&1
再次確認權限都不錯
你有沒有嘗試自己manualy在瀏覽器中運行?你有沒有嘗試使用php運行命令行? –
它是cake1.3還是2.0?看起來像1.3我 – mark
它是蛋糕1.3。 – Abhimanyu