Railsのsessionファイル
Railsは自動で session ファイルを削除してくれないので自分で何とかしないといけない。ということを知ってはいたのだけど今まで全く無視していた。
重い腰を上げて /tmp/session 以下を見てみると、もはや普通に rm -f で削除できない程の数のファイルが溜まっていた。
大いに反省をして対策を調べた。どうやら定期的に cronjob で削除するのが一般的なやりかたらしい。シェルスクリプトでやるなら次のように。
find /railsroot/tmp/sessions/ -name "ruby_sess*" -cmin +60 -exec rm {} ;
これを cron に登録すれば1時間を超過した session ファイルは自動的に削除される。
[追記]
と、期待してたんだけど、うちの環境では上のスクリプトでは -exec の引数が無いとかでエラーになる。次のようにしたら上手くいった。最後のセミコロンは find コマンドの仕様で -exec の最後引数の後に付けることになっている。
find tmp/ -name "ruby_sess*" -cmin +60 -exec rm \{} \;
≪ Prev entry |
| Next entry ≫