Linux 服务器 /tmp 目录的自动清理

本小妞迷上赌 提交于 2019-12-24 15:38:19

【推荐】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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!