习惯性的将一些临时文件放在tmp目录下,让其自然删除。同时,为了保证tmp目录不爆满,系统默认情况下每日会处理一次tmp目录文件,原理就是使用了tmpwatch。在系统最小安装情况下,这个功能是没有安装的。
安装:
# yum install tmpwatch.x86_64
安装后会在/etc/cron.daily/目录下生成一个tmpwatch文件。内容如下:
1
2
3
4
5
6
7
8
9
10
11
|
# cat /etc/cron.daily/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
\
-X
'/tmp/hsperfdata_*'
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
|
从代码中可看出,tmp目录会删除240小时未访问过的文件。
tmpwatch工具从指定的目录中递归地搜索并删除指定的目录中一段时间未访问的文件。
tmpwatch参数说明:
[warning]对于mysql服务器,如果将pid和socket文件创建在tmp目录下,要将这两个文件排除在外,否则mysql重启或使用socket文件登录时,提示找不到文件。可通过-U mysql[/warning]