2009年12月5日土曜日

定期的に/tmpを掃除してくれるソフトtmpreaper

Debian Lennyで試した。
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が設定されています↓みたいに
nice -n10 tmpreaper --delay=$TMPREAPER_DELAY --mtime-dir --symlinks $TMPREAPER_TIME \
$TMPREAPER_ADDITIONALOPTIONS \
--ctime \
これだとcronでlocateのDBを作っているので、アクセスタイムが更新され
いつまで経っても削除されません。(ctimeオプションはatime+ctimeのチェックをします)
用途によってはここを--mtimeに変更してもいいと思います

0 件のコメント: