Red hat系だとtmpwatchとかあるみたいだけど無いのでこれを使う
まずはaptitudeでインストール
インストールすると/etc/cron.daily/tmpreaperが作成される
これによって毎日cronで実行される
設定はこれをいじってもできるが基本的には
/etc/tmpreaper.confをいじる
まずはワーニングが出るので13行目あたりにあるSHOWWARNINGをコメント化する
#SHOWWARNING=true
次にオプションを設定する各オプションの意味は以下の通り
TMPREAPER_TIME・・・どのくらいアクセスがないファイルを削除するか?設定値はデフォルトで7dつまり7d以上アクセスがないと削除
TMPREAPER_PROTECT_EXTRA・・・削除しては駄目な名前を指定
TMPREAPER_DIRS・・・削除の対象とするディレクトリ デフォルトは/tmpのみ 複数指定するときはスペースで区切る 例)TMPREAPER_DIRS='/tmp/. /var/tmp/.'
TMPREAPER_DELAY・・・実行するまで待つ時間 デフォルトは256秒
TMPREAPER_ADDITIONALOPTIONS・・・他に指定したいオプションがある場合はこここに入れる他のオプションはmanを参照
あと/etc/cron.daily/tmpreaper見れば分かるけど
デフォルトで
以下のオプションが設定されている。ヤバイファイルは消えないようにしているようだ
--protect '/tmp/.X*-{lock,unix,unix/*}' \
--protect '/tmp/.ICE-{unix,unix/*}' \
--protect '/tmp/.iroha_{unix,unix/*}' \
--protect '/tmp/.ki2-{unix,unix/*}' \
--protect '/tmp/lost+found' \
--protect '/tmp/journal.dat' \
--protect '/tmp/quota.{user,group}' \
※注意
デフォルトのシェルだと--ctimeが設定されています↓みたいに
いつまで経っても削除されません。(ctimeオプションはatime+ctimeのチェックをします)
用途によってはここを--mtimeに変更してもいいと思います
nice -n10 tmpreaper --delay=$TMPREAPER_DELAY --mtime-dir --symlinks $TMPREAPER_TIME \これだとcronでlocateのDBを作っているので、アクセスタイムが更新され
$TMPREAPER_ADDITIONALOPTIONS \
--ctime \
いつまで経っても削除されません。(ctimeオプションはatime+ctimeのチェックをします)
用途によってはここを--mtimeに変更してもいいと思います