rakeタスクを実行しているcronジョブを設定しようとしています。私はいつでも宝石を使用しています。Cron running rake task "いずれかのソースでrake-0.8.7が見つかりませんでした"
* * * * * /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
しかし、クロンは(メールで)報告このエラーを保持し、ジョブが実行されるたびに:ここでの設定は、crontabファイルをするたびにで正しく設定されているのconfig/schedule.rbに
every 1.minutes do
bundle exec rake "test:pick_participant"
end
です:
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <[email protected]> /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <[email protected]>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/jsmith>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=jsmith>
Message-Id: <[email protected]>
Date: Mon, 7 Nov 2011 16:26:01 -0800 (PST)
expr: syntax error
Could not find rake-0.8.7 in any of the sources
アプリケーション環境にバンドルされているレーキはバージョン0.8.7です。
クロンによって発行されたコマンドが正しいようだ:
/bin/bash -l -c 'cd /home/jsmith/webapp/releases/2067320376 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
それが直接bundle exec rake
代わりのrake
を呼んでいます。私は、アプリケーションディレクトリ内のコマンドラインで同じコマンドを発行する場合
はまた、rakeタスクが正常に実行された:
[email protected]:~/webapp/current$ /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
* picked participant: Mindy!
誰でもcronのは、このエラーに実行されている理由は上の任意のアイデアを持っている「を見つけることができませんでしたレーキ0.8.7?
crontabに '/ bin/bash -l -c'と書いてくれてありがとう。これはバンドラーの私の問題も解決しました。 – Roman
すばらしい答え。あなたのソリューションを共有してくれてありがとう。 –