使用 cronjob 清理 /tmp

使用 cronjob 清理 /tmp

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

答案1

/tmp每次系统重启时都会清理,但对于不能经常重启的系统,特别是如果唯一目的是清理,则/tmp可以编写脚本来清理它。

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

我建议使用tmpreaper它。

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

从手册页中:

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

使用时通常需要使用时间规范参数进行调用tmpreaper/tmp时间规范参数可以是d天、h小时、m分钟或s秒等任意值。

--test在实际运行命令之前先进行试运行并获取结果输出。这样,在实际对文件系统进行任何更改之前,您就可以了解将删除哪些内容。

答案2

尝试添加一个执行的 cronjob

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

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

相关内容