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 ...”
该命令在命令行中运行良好
任何帮助将不胜感激。
答案 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'