2012-02-27 68 views
1

所有! 我嘗試在cron中發出rake-task。 Craken產生對我這樣的crontab:用cron運行raketask

*/5 * * * * cd /usr/local/www/vhosts/proj/www/current && /usr/local/www/vhosts/proj/www/shared/bundle/ruby/1.8/bin/rake --silent RAILS_ENV=production my:rake_task >> ./tmp/log.log 2>&1 

如果我嘗試手動運行該命令,它工作正常

cd /usr/local/www/vhosts/proj/www/current && /usr/local/www/vhosts/proj/www/shared/bundle/ruby/1.8/bin/rake --silent RAILS_ENV=production my:rake_task >> ./tmp/log.log 2>&1 

之後卻由cron拼命地跑,我得在日誌:

env:ruby18:沒有這樣的文件或目錄

提示,請問我在哪裏錯了?

+1

您是否曾嘗試以運行cron的用戶身份手動運行該命令?我敢打賭,沒有在該用戶的環境中的垃圾箱存在一些問題。 – pduersteler 2012-02-27 09:56:25

+0

當然。當我試圖手動運行這個命令時,我運行它作爲運行cron的用戶。 – Alexey 2012-02-27 11:04:17

回答

1

請檢查環境變量(比如PATH和其他Ruby需要的變量)。將環境變量和上述命令添加到shell腳本中並重試。