Linux有两个公知的临时目录:/tmp与/var/tmp,这两个目录被用户用于存储临时性的文件,亦经常被程读写用户存储临时性数据。
两个目录没有本质上的区别,最根本的区别仅仅是系统对其中文件清理的默认时间配置不一致。
- /tmp 目录默认清理10天未用的文件,系统重启会清空目录
- /var/tmp 目录默认清理30天未用的文件
redhat6系,可在文件
/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
redhat7系,可在文件
/usr/lib/tmpfiles.d/tmp.conf
中查看到清理的配置。
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
d /tmp 1777 root root 10d
d /var/tmp 1777 root root 30d