近日发现有一台机器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是一个特殊的文件夹,系统会自动清理,因此你们最好不要把文件放到这个地方,被清理了就很差了