Linux下tmp文件夹的文件自动删除的问题(转)

场景:

近日发现有一台机器tmp文件夹下放置的文件无辜丢失,而且排查发现是自动丢失,并且,只是删除10天之前的文件。

本来以为是哪位写了一个自动执行脚本, find了一下10天前的文件删除了。

结果,排查所有用户的crontab计划,没有任何用户执行了自动脚本。

监测了一下服务器登录情况,在删除文件期间也没有任何人登录。

解释:

最终,通过不懈的百度,终于找到正解。

从/var/log/cron日志中发现,服务器除了调用用户的计划任务外,还会执行系统自己的,比如:

/etc/cron.hourly

/etc/cron.daily

进入/etc/cron.daily

可以看到一个tmpwatch

cat  tmpwatch
#output
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 ]

[--exclude-user ]  

有一个 hours

240 = 10*24正好是10天

具体原因是tmp是一个特殊的文件夹,系统会自动清理,所以大家最好不要把文件放到这个地方,被清理了就不好了。

参考:
https://blog.csdn.net/weixin_33937778/article/details/85938158

你可能感兴趣的:(Linux下tmp文件夹的文件自动删除的问题(转))