0

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.日志 2>&1'

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

该命令从命令行工作得很好

任何帮助将不胜感激。

4

3 回答 3

6

好的,所以我得到了这个工作。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'

于 2013-02-09T22:25:56.297 回答
0

我遇到了同样的问题。

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

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

于 2013-08-07T06:51:00.870 回答
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'
于 2016-07-15T07:47:50.540 回答