在 CentOS/RHEL 7 中,tmpfiles.d 通过删除未使用的文件来清理 /tmp 或者 /var/tmp。
这个函数在 CentOS/RHEL 6 中被称为“tmpwatch”,由 crond 调用,但现在在 CentOS/RHEL 7 上由 systemd 的定时器实现。
/tmp 目录的主要用途是在安装操作系统或者软件时临时存储文件。
如果 /tmp 目录中的任何文件有一段时间没有被访问,它们将被自动从系统中删除。
请在下面找到负责删除 /tmp 目录中文件的配置。
对于 CentOS/RHEL 6
- 系统默认安装并启动的cronjob,运行tmpwatch命令,每分钟扫描一次/tmp中的所有内容。
tmpwatch的cronjob设置在/etc/cron.daily/tmpwatch
# cat /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_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \ -X '/tmp/pymp-*' 10d /tmp
- 我们可以在其手册页上找到有关 tmpwatch 的更多信息。
# man tmpwatch
www. On IT Road .com
对于 CentOS/RHEL 7
在 CentOS/RHEL 7 的情况下,systemd-tmpfiles 会定期清理 /tmp 目录中的文件。
清理 /tmp 目录的设置在 /usr/lib/tmpfiles.d/tmp.conf 中。下面是默认的配置文件/usr/lib/tmpfiles.d/tmp.conf。
如我们所见,目录 /tmp 和 /var/tmp 计划分别每 10 天和 30 天清理一次。
# cat /usr/lib/tmpfiles.d/tmp.conf # Clear tmp directories separately, to make them easier to override v /tmp 1777 root root 10d v /var/tmp 1777 root root 30d # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
- 有关 systemd-tmpfiles 的更多信息,请参阅手册页:
# man systemd-tmpfiles # man tmpfiles.d
日期:2020-09-17 00:11:56 来源:oir作者:oir