2012-02-27 33 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脚本中并重试。