使用cronjob清理/ tmp


Answers:


13

/tmp在每次系统重新启动时都会清除,但对于无法经常重新启动的系统,特别是如果唯一的目的是清除/tmp脚本,则可以将其清除。

没有任何进程应该在其中保留重要数据,但重要的是您能够清理/tmp而不破坏任何在其中写入数据的进程tmp

我建议使用tmpreaper它。

您可以使用安装它sudo apt-get install tmpreaper

从手册页:

tmpreaper递归搜索并删除在给定秒数内未访问的文件和空目录。通常,它用于清理用于临时存放空间的目录,例如“ / tmp”。请阅读本手册的“警告”部分。

用法通常涉及调用tmpreaper/tmp同一个时间规范的说法。time spec参数可以是d几天,h几小时,m几分钟或s几秒钟。

--test在实际运行命令之前,请先使用进行空运行并获取结果输出。这将使您了解在实际对文件系统进行任何更改之前将删除的内容。


谢谢!为了完全回答我的问题,您能解释一下为什么这比使用简单的递归删除更好吗?
Jochem Kuijpers 2014年

1
它不是,它只是更易于使用,并且所使用的参数更易于理解。一个简单rm -rf的返回文件列表find也可以完成这项工作。这是“另一种方式”,甚至没有说是最好的方式,只是我在设置的服务器上使用的方式。
布鲁诺·佩雷拉

tmpreaper似乎是一个很好的工具,值得使用--test--showdeletes测试时。
RichVel

3

尝试添加执行的cronjob

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

这将删除所有早于5天的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.