使用 cronjob 清理 /tmp

Joc*_*ers 11 cron tmp

使用 bash 脚本和 cronjob/tmp自动清空是否安全,还是应该以不同的方式执行此操作?

Bru*_*ira 14

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

任何进程都不应该将重要数据保存在那里,但重要的是您能够在/tmp不中断任何写入数据的进程的情况下进行清理tmp

我建议使用tmpreaper它。

您可以使用sudo apt-get install tmpreaper.

从手册页:

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

用法通常涉及使用时间规范参数调用tmpreaperin /tmp。时间规范参数可以是d几天、h几小时、m几分钟或s几秒钟。

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


tur*_*phi 6

尝试添加一个执行的 cronjob

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 
Run Code Online (Sandbox Code Playgroud)

这将删除所有超过 5 天的文件。