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]の方法にしてみた。
以下のような感じ。
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


コメントする