/tmp を自動で削除するには

FreeBSD は標準では /tmp の中身は削除されないようになっていますが、FreeBSD には削除処理を自動で行ってくれる二つの手段が提供されています。
 


– 起動時に中身をクリアする
 
/etc/rc.conf に以下の設定を追加すると FreeBSD の起動時に /tmp の中身を削除するようになります。

clear_tmp_enable=”YES” # Clear /tmp at startup

 
この機能は /etc/rc.d/tmp で実装されており、/etc/rc.d/rc.conf にデフォルト設定があります。

clear_tmp_enable=”NO” # 起動時に /tmp をクリアする
clear_tmp_X=”YES” # /tmp 内の X11 関連のディレクトリをクリアして再構築する


– 定期的に古いファイルを削除する
/etc/periodic.conf に以下の行を設定することで /tmp の中身のうち一定期間アクセスがないファイルを削除するようになります。

daily_clean_tmps_enable=”YES”

 
rc.conf の clear_tmp_enable を YES にすると起動時に /etc/rc.d/tmp が実行されて /tmp のすべてのファイルを削除します。
 
この機能は /etc/periodic/daily/110.clean-tmps で実装されており、/etc/default/periodic.conf にデフォルトの設定があります。

daily_clean_tmps_enable=”NO” # 不要ファイルを毎日削除する
daily_clean_tmps_dirs=”/tmp” # このディレクトリ以下を削除する
daily_clean_tmps_days=”3″ # 指定期間アクセスがないもののみ対象
daily_clean_tmps_ignore=”.X*-lock quota.user quota.group” # 削除対象外のファイル
daily_clean_tmps_ignore=”$daily_clean_tmps_ignore quota.user quota.group”
 
daily_clean_tmps_verbose=”YES” # 削除したファイル名を出力する