cronでRVMのRubyを使う

現在のRVMでは、以下の方法では、
line 2: rvm: command not found
というエラーになります。
今はもっとよい方法があるので、以下をご覧ください。
cronでRVMのRubyを使う

RVMで複数のRuby環境がある場合に、Railsアプリケーションのためのcronをどうするか? Rubyのパスはフルパス指定すればいいが、gemがRVMのgemを見に行かないのが問題。RVM環境でcronを実行する必要がある。

  1. crontabでrvmのrubyを使う - 橋本詳解
  2. RVM and cron in production
  3. rvm+railsなアプリケーションをcronで動かす - sanojimaru.com

1.の方法にしてみた。
以下のような感じ。

cron用スクリプト

/home/pistolfly/app_dir/cron/delete_sessions.sh

source /home/pistolfly/.rvm/scripts/rvm
rvm use 1.8.7 > /dev/null
cd /home/pistolfly/app_dir
ruby script/runner -e production "ActiveRecord::SessionStore::Session.delete_all(['sessions.updated_at < ?', 1.day.ago])"

cronの設定

$ crontab -e
*/10 * * * * sh /home/pistolfly/app_dir/cron/delete_sessions.sh

「cronでRVMのRubyを使う」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください