2014-02-07 13 views
0

我的網站有幾個作爲yii控制檯應用程序(又名:命令)編寫的後臺作業。我已經使用以下語法安排了該命令。預定的php文件沒有在給定的時間間隔執行,Ubuntu的12.04 64位

情況1:

php /var/www/test/console.php NewsLetter 10 | sed -e "s/^/$(date -R) /" >> /home/user4/logs/newsletter_$(date +\%Y\%m\%d).log

如果我從Ubuntu終端運行它,它創建像newsletter_2014-02-06.log日誌文件並在日誌文件中的每一行的乞插入時間戳。

當它從crontab運行時,它不處理該命令,我無法在/home/user4/logs/位置看到任何東西。

案例2:

如果我配置沒有像下面的shell命令工作,

php /var/www/test/console.php NewsLetter 10>> /home/user4/logs/newsletter.log

它工作得很好,我可以看到日誌的newsletter.log文件每次運行crontab。

預計:我希望從cron作業的輸出存儲在日期附加文件(log_2014-02-06.log)中。日誌中的每一行都會插入時間戳。

+0

你可以請這個crontab入口'php /var/www/test/console.php NewsLetter 10 | sed -e「s/^/$(date -R)/」>/home/user4/logs/newsletter _ $(date + \%Y \%m \%d).log 2>&1' –

+0

@HüseyinBABALno luck – Suriya

回答

0

您是否爲這些操作創建了CConsoleCommand類?那麼最好使用yiic命令。也有可能PHP命令不在你的cronjob路徑中。在這種情況下,您必須輸入PHP命令的完整路徑。我cronjobs看起來是這樣的(管理嚮導系統):

/usr/local/bin/php /path/to/yii/folder/protected/yiic actionToRun 

欲瞭解更多有關創建CConsoleCommand類,您可以檢查this acticle on YiiFramework.com

相關問題