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 に答える