近日發現有一臺機器tmp 下放置的文件無辜丟失,並且排查發現是自動丟失,而且,只是刪除10天以前的文件....服務器
原本覺得是哪位寫了一個自動執行腳本, find 了一下10天前的文件刪除了....ui
結果,排查全部用戶的crontab 計劃,沒有任何用戶執行了自動腳本url
監測了一下服務器登陸狀況,在刪除文件期間也沒有任何人登陸spa
最終,經過不懈的百度,終於找到正解pwa
從/var/log/cron 日誌中發現,服務器除了調用用戶的計劃任務外,還會執行系統本身的,好比:unix
/etc/cron.hourly日誌
/etc/cron.dailycrontab
進入 /etc/cron.dailyit
能夠看到一個tmpwatchtest
cat 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 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
能夠看到調用了一個叫tmpwatch 的腳本,而且,咱們能夠看到傳入參數中 對咱們有意義的有 /tmp 240
而後咱們 man tmpwatch
SYNOPSIS
tmpwatch [-u|-m|-c] [-MUadfqstvx] [--verbose] [--force] [--all]
[--nodirs] [--nosymlinks] [--test] [--fuser] [--quiet]
[--atime|--mtime|--ctime] [--dirmtime] [--exclude <path>]
[--exclude-user <user>] <hours> <dirs>
有一個 hours
240 = 10*24 整好是10天
具體緣由是 tmp是一個特殊的文件夾,系統會自動清理,因此你們最好不要把文件放到這個地方,被清理了就很差了