2015-09-04 162 views
0

我想在Ubuntu上運行一個cron作業,每10分鐘運行一個.php文件。 這是我的crontab:Cronjob不執行php?

*/10 * * * * php -f /var/www/html/gapi/src/test2.php >/dev/null 2>&1 

而且這是在日誌文件:

CRON[9994]: (root) CMD (php -f /var/www/html/gapi/src/test2.php >/dev/null 2>&1) 

在這個PHP是一個API調用,我可以看到API調用住在API的儀表盤提供者,所以我知道php並沒有每10分鐘運行一次。

我將文件權限設置爲755,還能做些什麼來使其工作?

更新的crontab:

*/10 * * * * php -f /var/www/html/gapi/src/test2.php 
+1

你究竟是什麼意思'在這個PHP是一個API調用?這聽起來像你正在通過網絡服務器監視任何訪問,但是從命令行調用腳本。如果是這種情況,請將您的請求更改爲使用wget通過Web服務器請求。 – Eborbob

+1

首先不會將可能的錯誤輸出轉儲到'/ dev/null',您可能會明白爲什麼它不起作用。 – deceze

+0

@Eborbob聽起來這是它的原因,你能否請你提供更多細節的答案?我使用Google API獲取一些數據,如果我用我的瀏覽器打開文件,它可以正常工作。 – Vaze

回答

0

嘗試請求文件通過你的網絡服務器,而不是調用通過命令行PHP解釋器的腳本。

*/10 * * * * wget -q -O /dev/null http://localhost/gapi/src/test2.php 

-q打壓輸出,-O /dev/null重定向文件輸出,所以它不保存)使用curl代替

或:

*/10 * * * * curl --silent http://localhost/gapi/src/test2.php 

的URL將取決於如何在服務器上設置 - 你說它現在通過瀏覽器工作,所以只需在cron文件中使用相同的URL。

+0

'curl'會做得更好 –

+0

@OkiErieRinaldi爲什麼捲曲更好?它會是什麼樣子? – Vaze

+0

FWIW,「-q」將使wget靜音並停止輸出標題等。我會避免只是將輸出轉儲到/ dev/null - 腳本應該在正常操作時保持沉默 - 所以至少有人會在行爲不當時收到一封電子郵件... –