【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
从 serverfault.com 上获取的资料,不同的 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 就是不走寻常路
对于那些只能开机清理临时文件的发行版,如果作为服务器,这种不重启就对临时文件目录的垃圾不问不管的做事风格实在是很不靠谱。不过从上面其他发行版大家估计也会发现,解决此问题的关键就在于 tmpwatch 和定时任务的配合使用。
tmpwatch 是专门用于解决“删除 xxx 天没有被访问/修改过的文件”这样需求的命令。使用方式也极其简单:
$ tmpwatch 30d /tmp/
注意在 Ubuntu 的 apt-get 是无法直接安装 tmpwatch 的,tmpwatch 在 Ubuntu 里叫 tmpreaper:
$ sudo apt-get install tmpreaper
$ sudo tmpreaper 30d /tmp
来源:oschina
链接:https://my.oschina.net/kcw/blog/3146654