Rake Cron工作错误

时间:2013-02-09 21:57:00

标签: ruby-on-rails cron rake

0/5 * * * * / bin / bash -l -c'cd / home / mss / ruby​​ / example&& RAILS_ENV =开发/ usr / local / bin / bundle exec rake check_me_out --silent>> /tmp/cron_log.log 2>& 1'

上面的cron抛出错误“bash:bundle:command not found ...”

该命令在命令行中运行良好

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:6)

好的,所以我得到了这个工作。 Cron不加载配置文件设置。我必须加载bash_profile作为命令的一部分,现在它可以工作。

0/5 * * * * / bin / bash -l -c'source~ / .bash_profile&& cd / home / mss / ruby​​ / example&& RAILS_ENV =开发箱/佣金check_me_out --silent>> /tmp/cron_log.log 2>& 1'

答案 1 :(得分:0)

我遇到了同样的问题。

我在CRON中设置正确的RVM路径后解决了它:

** * * * / bin / bash -l -c'cd / home / alex / Projects / my_app&&来源〜/ .bash_profile&& rvm使用ruby-1.9.3-p194-perf&&捆绑执行rake RAILS_ENV =开发my_tasks --silent>> /tmp/cron_log.log 2>& 1'

答案 2 :(得分:0)

当我在AWS EC2服务器上设置cron时,我也遇到了同样的问题。通过在config/schedule.rb文件中明确设置捆绑路径来解决此问题。

set :bundle_command, "/usr/local/bin/bundle exec" 

这会在cron中创建条目,如:

30 1 * * * /bin/bash -l -c 'cd <app_path> && RAILS_ENV=beta /usr/local/bin/bundle exec rake 'task_name' --silent >> log/cron.log 2>&1'