私はさまざまなファイルをに入れようとしていますが/tmp、それらを削除する規則について疑問に思いましたか?
ディストリビューションごとに異なることを想像していますが、特にUbuntuとFedoraのデスクトップバージョンに興味があります。
しかし、それを見つける良い一般的な方法は素晴らしいことです。
さらに良いのは、それを制御する良い一般的な方法です!(「毎日午前3時、/tmp60日より古いファイルはすべて削除しますが、再起動時にディレクトリをクリアしないでください」など)
私はさまざまなファイルをに入れようとしていますが/tmp、それらを削除する規則について疑問に思いましたか?
ディストリビューションごとに異なることを想像していますが、特にUbuntuとFedoraのデスクトップバージョンに興味があります。
しかし、それを見つける良い一般的な方法は素晴らしいことです。
さらに良いのは、それを制御する良い一般的な方法です!(「毎日午前3時、/tmp60日より古いファイルはすべて削除しますが、再起動時にディレクトリをクリアしないでください」など)
回答:
それはディストリビューションに依存します。一部のシステムでは、起動時にのみ削除され、他のシステムではcronジョブが実行され、n時間より古いアイテムが削除されます。
/etc/default/rcS)。/etc/cron.daily/tmpwatch; RHEL7とsystemdでRedHatに似ていて/usr/lib/tmpfiles.d/tmp.conf、で呼び出され、で呼び出されますsystemd-tmpfiles-clean.service)。/etc/conf.d/bootmisc。systemd-tmpfiles-clean.serviceます。
tmpreaperパッケージを検討できます。これは、フォーク版ですtmpwatch。
cat: /etc/default/rcS: No such file or directory
CentOS(およびFedoraを想定)では、/ etc / cron.dailyと呼ばれるジョブがありtmpwatchます。これが実行/usr/sbin/tmpwatchされ、指定された時間内にアクセスされなかったファイルが削除されます。つまり、デフォルトの動作ではatime、ファイルが最近使用されたかどうかを評価します。
http://linux.die.net/man/8/tmpwatch
他のディストリビューション(およびインストール済み環境)では、/ tmpがtmpfsとしてマウントされる場合があります。これは、メモリ内ファイルシステムです。これはブート時にクリアされます。
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete10日間アクセスされていないtmpファイルを削除します。注意して使用してください
私が使用しているUbuntu 11.10では、にスタートアップスクリプトがあり/etc/init/mounted-tmp.confます。それの始まりはこれを言います:
# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.
description "Clean /tmp directory"
start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)
詳細を読むことができますが、一般的に/tmpは、マウントされているか、マウントされているときにクリーンアップ/usrされます。これはブート時に定期的に発生するため、この/tmpクリーニングはブートのたびに実行されます。
/etc/default/rcSあなたたTMPTIME二つの供給するために、上記のinitスクリプトで使用され、設定されfind、その端部にコマンドを-基本的に、その時間に基づいてファイルの削除を制御する(変性変化、アクセス)。
RHEL 6.2では、10日間アクセスされなかった場合、/ tmp内のファイルはtmpwatchによって削除されます。
ファイル/etc/cron.daily/tmpwatchは、tmpwatchが呼び出される方法を定義します。
#! /bin/sh
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_*' 10d /tmp
-x引数は、除外されるファイルです。最後から2番目の引数は、最後にアクセスした時間の後に待機する時間です。最後の引数は、調べるディレクトリです。
Fedora 18以降で/tmpはtmpfs、デフォルトでマウント(つまりRAM)されるため、電源を切ると消去されます。
この動作は、発行systemctl mask tmp.mountして再起動することで無効にでき(発行して再起動すると再び有効になりますsystemctl unmask tmp.mount)、ファイルシステムに/tmpマウントされ、設定/で制御でき/usr/lib/tmpfiles.d/tmp.confます。
参照http://fedoraproject.org/wiki/Features/tmp-on-tmpfsをし、man tmpfiles.dそれぞれのケースの詳細については。
openSUSE 13.2では、sysconfigの次の変数を使用して消去動作を制御できます。
MAX_DAYS_IN_TMPMAX_DAYS_IN_LONG_TMPTMP_DIRS_TO_CLEARLONG_TMP_DIRS_TO_CLEAROWNER_TO_KEEP_IN_TMPCLEAR_TMP_DIRS_AT_BOOTUPこれらの変数は次の方法で変更できます(各変数の使用法もそこにあります)。
/etc/sysconfig/cronコマンドラインでファイルを手動で編集します。