使用 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 天的文件。