tmp目录自动清除和tmpwatch命令

网友投稿 1022 2023-02-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

tmp目录自动清除和tmpwatch命令

习惯性的将一些临时文件放在tmp目录下,让其自然删除。同时,为了保证tmp目录不爆满,系统默认情况下每日会处理一次tmp目录文件,原理就是使用了tmpwatch。在系统最小安装情况下,这个功能是没有安装的。安装:

1
# 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
fordin/var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?};do
if[-d"$d"];then
/usr/sbin/tmpwatch"$flags"-f720"$d"
fi
done

从代码中可看出,tmp目录会删除240小时未访问过的文件。

tmpwatch工具从指定的目录中递归地搜索并删除指定的目录中一段时间未访问的文件。

tmpwatch参数说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-u,--atime基于访问时间来删除文件,默认的。
-m,--mtime基于修改时间来删除文件。
-c,--ctime基于创建时间来删除文件,对于目录,基于mtime
-M,--dirmtime删除目录基于目录的修改时间而不是访问时间。
-a,--all删除所有的文件类型,不只是普通文件,符号链接和目录。
-d,--nodirs不尝试删除目录,即使是空目录。
-d,--nosymlinks不尝试删除符号链接。
-f,--force强制删除。
-q,--quiet只报告错误信息。
-s,--fuser如果文件已经是打开状态在删除前,尝试使用“定影”命令。默认不启用。
-t,--test仅作测试,并不真的删除文件或目录。
-U,--exclude-user=user不删除属于谁的文件。
-v,--verbose打印详细信息。
-x,--exclude=path排除路径,如果路径是一个目录,它包含的所有文件被排除了。如果路径不存在,它必须是一个绝对路径不包含符号链接。
-X,--exclude-pattern=pattern排除某规则下的路径。

[warning]对于mysql服务器,如果将pid和socket文件创建在tmp目录下,要将这两个文件排除在外,否则mysql重启或使用socket文件登录时,提示找不到文件。可通过-U mysql[/warning]

上一篇:性能测试用例(性能测试网站)
下一篇:运维工程师事件类别(运维工程师的分类)
相关文章

 发表评论

评论列表