[前][次][番号順一覧][スレッド一覧]

rails:2636

From: "大縄亮" <onawa@m...>
Date: Sun, 20 Apr 2008 00:23:19 +0900
Subject: [rails:2636] cronから起動する時のrailsエラー

初めて質問させてただきます、大縄です。

以下の環境でrailsアプリを運用しています。

OS  fedora core 6
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]
rails Rails 1.2.6

rails コマンドで作成したディレクトリの下に、tool というディレクトリ
を作成し、以下の内容のシェルを実行するようにcron設定しています。
(cron 設定は root)

[ /var/rails/xxx/tool/xxx_daily_batch.sh ]
#!/bin/bash
export RAILS_ENV=production
export RAILS_ROOT=/var/rails/xxx
export RAILS_SERVICE_SCRIPT=/etc/init.d/xxx
# データベースバックアップ
mysqldump -u root -pxxxxxxxx -x xxx_production | gzip >
/tmp/tamaru/xxx_production_`date +%Y%m%d_%H%M%S`.dump.gz
cd $RAILS_ROOT
# 一時ファイルクリア
rake tmp:clear
# セッションクリア(DB)
rake db:sessions:clear
# ログクリア
rake log:clear
# サービス再起動
$RAILS_SERVICE_SCRIPT stop
$RAILS_SERVICE_SCRIPT start
# 稼動情報メール送信
ruby script/runner -e production 'DailyMailer.deliver_performance'

[ cron 設定(crontab -l) ]
05 00 * * * /var/rails/xxx/tool/xxx_daily_batch.sh

といった感じで、シェルを毎日0:05に起動するようにしています。このシェルを
コマンドで実行するとうまく各種クリアがされて、メールも送信されます。

しかし、cronから起動されると、rakeコマンドの実行、およびscript/runnner
でのバッチ起動がうまくいかず、以下のメッセージが返されてしまいます。

(in /var/rails/xxx)
Sending TERM to Mongrel at PID 613...Done.
Cannot find gem for Rails =1.2.6.0:
   Install the missing gem with 'gem install -v=1.2.6 rails', or
   change environment.rb to define RAILS_GEM_VERSION with your desired version.

rails のバージョン1.2.6 は確実にインストールされていますし、再インストール
してもインストール済みのメッセージが表示されるだけです。

rails の問題というよりcronの問題のような気もしますが、WEBでも情報を
見つけることができませんでしたので、どなたか解決策をご存知の方が
いらっしゃいましたらご教示ください。
-- 
━━━━━━━━━━━━━━━━━━
 株式会社 マイレージテクノ
   http://www.mileage-techno.com
 大縄 亮
   onawa@m...
━━━━━━━━━━━━━━━━━━

[前][次][番号順一覧][スレッド一覧]

->    2636 2008-04-19 17:23 [onawa@m...          ] cronから起動する時のrailsエラー         
      2637 2008-04-19 19:22 ┗[someeda@g...        ]                                       
      2638 2008-04-20 06:17  ┗[onawa@m...          ]