tmpwatchが/ tmpに置いたファイルを消去するのはいつですか?


14

CentOS 6.x

/ tmp /に置いたファイルが正確に削除されると混乱します。

/etc/cron.daily/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
/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

5行目のセクションを読む-X '/tmp/hsperfdata_*' 10d /tmpと、/ tmp /に置いたファイルは10日間残ると信じられます(もちろん、削除中にロ​​ックされていないか、ディレクトリがtmpfsファイルシステムにマウントされていると仮定します)。

あれは正しいですか?

回答:


8

CentOS 6ではtmpwatch、ファイルが最後にアクセスされたとき(atime)に削除するという決定に基づいているようです。10日(10日)以上経過している場合、tmpwatch実行時に削除されます。

tmpwatchmanページから:

    By  default,  tmpwatch  dates  files  by their atime (access time), not 
    their mtime (modification time). If files aren't being removed when 
    ls -l implies they should be, use ls -u to examine their atime to see if 
    that explains the problem.

また、manページから:

    The time parameter defines the threshold for removing files.  If the
    file has not been accessed for time, the file is removed.  The time 
    argument is a number with an optional single-character suffix specifying 
    the units: m for minutes, h for hours, d for days.  If no  suffix  is 
    specified, time is in hours.

6

RHEL7 / CENTOS7には、毎日実行されるsystemdターゲットがあります:(systemd-tmpfiles-clean.timerを置き換えるため/etc/cron.daily/tmpwatch)。デフォルト値は、OnBootSec=15minとの両方OnUnitActiveSec=1dです。systemd.timerの引用マンページを:

OnBootSec =は、マシンが起動されたときからの相対的なタイマーを定義します。

OnUnitActiveSec =は、タイマーがアクティブになっているユニットが最後にアクティブになったときからの相対タイマーを定義します。

そのため、/ tmpは毎日、システムのブート時のおおよその時間に毎日クリーニングされます。したがって、時間は未定義ですです。大規模な展開では、すべての仮想マシンが同時にクリーンアップを実行するわけではありません。

履歴については、次を実行します:

$ journalctl  -u systemd-tmpfiles-clean
Mar 12 21:44:17 c7.klabs.be systemd[1]: Starting Cleanup of Temporary Directories...
Mar 12 21:44:18 c7.klabs.be systemd[1]: Started Cleanup of Temporary Directories.

「Started Cleanup」は実際には「Complete」を意味します。


tmpwatchにはを使用する優れた機能がありfuserます。systemdバージョンはそれを行うことができますか?
CMCDragonkai

2
@ CMCDragonkai、2015年4月、Lennart Poettering(SystemD開発者)はsystemd-develメーリングリストで次のように述べました。「/ procの繰り返しはサポートしていません[..]単に悪いことです。 ] "それから彼は" atimeチェック[..]で十分であるはずです。そうでない場合はありますか? "
フランクリンピアト

うん、私はその質問をしました。
CMCDragonkai

1
@CMCDragonkai、私はメーリングリストでレナート・ポエタリングを引用していました。彼に返信(リストに)!
フランクリンピアト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.