/tmp 内のファイル/ディレクトリが長期間アクセスされていない場合、それらは自動的に削除される場合があります。 「tmpwatch 」は、/tmp または /var/tmp などの他の一時ディレクトリの内容をクリーンアップします。 /tmp 内のアクセスされていないファイルのクリーンアップは、パッケージ「tmpwatch」のデフォルト機能であり、cron ジョブ /etc/cron.daily/tmpwatch を提供します .これは crond によって毎日起動されるシェル スクリプトで、/tmp、/var/tmp、および /var/ 内のいくつかのディレクトリをチェックし、長期間アクセスされていないファイル/ディレクトリを削除します。
たとえば、CentOS/RHEL 5 のサンプル構成ファイル /etc/cron.daily/tmpwatch は次のようになります:
# cat /etc/cron.daily/tmpwatch flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' 240 /tmp /usr/sbin/tmpwatch "$flags" 720 /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 720 "$d" fi done
上記の構成は、240 時間 (/tmp の場合は 10 日間) または 720 時間 (/var/tmp の場合は 30 日間) アクセスされていないファイル/ディレクトリを削除します。
CentOS/RHEL 6 のサンプル構成ファイル /etc/cron.daily/tmpwatch は以下のようになります:
# cat /etc/cron.daily/tmpwatch flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \ -X '/tmp/pymp-*' 10d /tmp /usr/sbin/tmpwatch "$flags" 30d /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 30d "$d" fi done
10 (/tmp) または 30 (/var/tmp) 日間アクセスされていないファイル/ディレクトリを削除する上記の構成。
ほとんどの場合、未使用のファイルを /tmp から削除してファイル システムのスペースを解放し、/tmp を含むファイル システムが時間の経過とともにいっぱいにならないようにする必要があるため、tmpwatch によるファイルの削除は安全に無視できます。
ただし、何らかの理由でこの機能を無効にする必要がある場合は、/tmp によってファイル システムがいっぱいにならないようにするための tmpwatch の重要性にもかかわらず、以下に説明する方法のいずれかを使用できます。
方法 1 – tmpwatch パッケージを削除する
最も簡単な方法は、tmpwatch パッケージ自体を削除することです:
# rpm -e tmpwatch
または
# yum remove tmpwatch
方法 2 – tmpwatch cron エントリを無効にする
場合によっては、依存関係が原因で tmpwatch パッケージを削除できないことがあります。以下に示すエラーが表示されます:
# rpm -e tmpwatch LANG=C rpm -e tmpwatch error: Failed dependencies: tmpwatch is needed by (installed) tetex-3.0-33.15.el5_8.1.x86_64 tmpwatch is needed by (installed) cups-1.3.7-32.el5_11.x86_64
または、/etc/cron.daily/tmpwatch ファイルを移動または削除して、/var/tmp および /tmp/directories からのファイルの削除をスケジュールすることもできます。
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
または
# rm /etc/cron.daily/tmpwatch