Rake Cron工作错误

0/5 * * * * / bin / bash -l -c’cd / home / mss / ruby​​ / example && RAILS_ENV = development / usr / local / bin / bundle exec rake check_me_out –silent >> / tmp / cron_log。 log 2>&1′

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

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

任何帮助将不胜感激。

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

0/5 * * * * / bin / bash -l -c’source~ / .bash_profile && cd / home / mss / ruby​​ / example && RAILS_ENV = development bin / rake check_me_out –silent >> /tmp/cron_log.log 2>&1′

我遇到了同样的问题。

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

** * * * / bin / bash -l -c’cd / home / alex / Projects / my_app && source~ / .bash_profile && rvm使用ruby-1.9.3-p194-perf && bundle exec rake RAILS_ENV = development my_tasks – -silent >> /tmp/cron_log.log 2>&1′

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

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

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

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