俺の報告

RoomClipを運営するエンジニアの日報(多分)です。

日報 #63 - tmpreaper続報

パスタの丸いやつの名前がどうしても出てこなくて、
色々検索した結果「ニョッキ」と分かった時点で22時。
我慢しきれずサミットに駆け込み、気づくとムシャムシャと食っていた、
なんてことありませんか、僕はあります。

今日は、先日ちょっと触れたtmpreaperについて。
なんかすげー適当に流したけど、あの後よくよく指定したディレクトリを観察してみると、
「はて、消えてない…」
という感じになっちょりました。
3日間アクセスしていないファイルに関しては削除、という設定にしていたはずなのに、
余裕で居座るファイル達を前に結構ボー然。

なんだよう、といいながらちゃんとシェルが走っているのかを確認するが、
そこは問題なさそう。
tmpreaperには--testコマンドがあり、

tmpreaper —test 3d /hoge

のように書くと、削除する「フリ」をしてくれます。
このコマンドでは確かに削除対象があるのに、やらない。。。
うーん、
と悩み、よくよくcron.dailyのtmpreaperシェルを読み込むと、
実行文のオプションに--ctimeがあります。
ctimeってUNIXファイルがもってるatime、mtime、ctimeのctimeでしょう。
きっと。
http://manpages.ubuntu.com/manpages/precise/man8/tmpreaper.8.html
ここを読むと、
ctimeで読めば、「新しくコピー作成されたファイルが、コピー元のファイルのせいで古いファイルと判定されることを防げるぜ!」的なことがかいちょります。
そしてどうやらatimeも同時に計測しているようです。
僕の場合、これは少し困ったことになります。
あくまでmtime(最終変更時刻)で判断して欲しいのです。
ということで、この条項をコメントアウトしたところ、正常に削除が始まりました。

いやはや、
ログローテーションしたりするのだけでも精一杯ですよ本当にとほほ、、、