0
当Ubuntu的容量超过80%或一个月后,是否可以使用tmp文件夹中的缩略词自动删除文件?有没有办法自动删除tmp文件夹中的文件?
我应该使用crontab吗?或者我应该同时编写crontab和shellscript?
当Ubuntu的容量超过80%或一个月后,是否可以使用tmp文件夹中的缩略词自动删除文件?有没有办法自动删除tmp文件夹中的文件?
我应该使用crontab吗?或者我应该同时编写crontab和shellscript?
在我看来,你可以使用基于年龄删除文件的标准方法,稍作修改以降低文件系统过满时的阈值。
删除所有*.thumb
文件/tmp
超过一定年龄(约一个月)的通常方法是用以下命令:
find /tmp -type f -name '*.thumb' -mtime +30 -delete
所以,你需要做的是降低门槛是在某些情况下修改mtime
测试。要做到这一点基于如何充分的文件系统可能会喜欢的东西来完成:
#!/usr/bin/env bash
# Default to about a month.
thresh=30
# Get percentage used of /tmp, needs to match output of df, such as:
# Filesystem 1K-blocks Used Available Use% Mounted on
# tmp 1000000 280000 720000 28% /tmp
tmppct=$(df | awk '$6=="/tmp" { gsub("%", "", $5); print $5 }')
# Reduce threshold if tmp more than 80% full.
[[ ${tmppct} -gt 80 ]] && thresh=1
# Go and clean up, based on threshold.
find /tmp -type f -name '*.thumb' -mtime +${thresh} -delete
的只是脚本传递的df
(根据指定的格式)的输出通过的可能有点棘手:
awk '$6=="/tmp" { gsub("%", "", $5); print $5 }'
这只是将:
/tmp
线;%
;和然后,只需创建一个crontab
条目,该条目将定期运行该脚本。