yohasebe.com


Mon Apr 30 23:31:00 +0900 2007

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



大学関係


計算機プログラミング


その他いろいろ


--