首先说明,本文章不是自创,来源于网络整理,做个小记。
不同的 Linux 发行版其实对 /tmp
目录的清理方式有所不同:
- 在 Debian-like 的系统,启动的时候才会清理 (规则定义在
/etc/default/rcS
) - 在 RedHat-like 的系统,按文件存在时间定时清理 (RHEL6 规则定义在
/etc/cron.daily/tmpwatch
; RHEL7 以及 RedHat-like with systemd 规则定义在/usr/lib/tmpfiles.d/tmp.conf
, 通过systemd-tmpfiles-clean.service
服务调用) - 在 CentOS 里,也是按文件存在时间清理的 (通过 crontab 的配置
/etc/cron.daily
定时执行 tmpwatch 来实现) - 在 Gentoo 里也是启动清理,规则定义在
/etc/conf.d/bootmisc
,大 Gentoo 就是不走寻常路
因为自己用的是centos7,所以着重找了一下centos7的清理规则。
centos7的清理规则
下面内容转载于:https://juejin.cn/post/6844903981483819022,作者:restart
再次感谢~
CentOS7
的/tmp
目录自动清理规则
CentOS6
以下系统(含)使用watchtmp
+ cron
来实现定时清理临时文件的效果(这个结果是百度的,没有确认,因为系统脚本上7了,8也出来了),这点在CentOS7
发生了变化,在CentOS7
下,系统使用systemd
管理易变与临时文件:
清理工具systemd-tmpfiles
提到这个工具就不得不提系统相关systemd-tmpfiles
的服务
看了官网,有下面几个服务
systemd-tmpfiles-setup.service 创建
systemd-tmpfiles-setup-dev.service 创建
systemd-tmpfiles-clean.service 清理
systemd-tmpfiles-clean.timer 定时清理
配置文件主要为下面几个目录:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf
平时自己做一些简单修改,只需要修改/usr/lib/tmpfiles.d/*.conf文件就可以了:
配置一看就懂,就不做介绍