/tmpの配下を消したのは誰だ!

※当サイトではアフィリエイト広告を利用しています

1.「/tmp」の中身が消えた

ある日突然「/tmp」の配下にあったファイルが全て削除されるという事象が発生しました。

誰かが消したのかと思い、周りの人や自分自身を疑ってみましたが、該当者なし。

そうなると、cronか何かの削除処理が動いているのだろうと思い、調査してみたところ「tmpwatch」という機能があることが判明しました。

 

2.仕組み

私の環境では、
[/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

 

 

3.tmpwatchについて

この設定はザックリ言うと、

  • 「/tmp」の配下で10日以上更新していないファイル・フォルダは削除する。
  • 「/var/cache/man/cat+何か1文字」他、の30日以上更新していないフォルダを削除する。

という意味です。

tmpはあくまで一時フォルダという位置づけなので、削除しに行ってくれるという意味では正しい気がします。

メンテナンス用のツールなど、普段は使わないけど残しておきたいファイルなどは、/tmp 以外のパスに置いておくべし!ということでした。

 

コメント