如何定时清理服务器内的临时图片/日志
作者:FancyPig | 发布时间: | 更新时间:
问题场景
之前有热心网友提问,乔碧萝里的图片只存储7天是如何实现的?
解决方案
命令行
我们可以用一行命令就解决
find /www/wwwroot/qbl -mtime +7 -name "*.png" -exec rm -rf {} \;
find后面跟要查找的目录,/www/wwwroot/qbl是我们要查找的目录,如果要全盘搜索,那么修改成/-name后面可以指定文件类型,我们这里是"*.png",如果你想清理的日志,可以自行修改成"*.log"-exec代表要执行的命令,我们这里要进行rm -rf删除
如何配合宝塔完成计划任务
在宝塔面板的计划任务中,我们选择Shell脚本,并输入对应的任务名称,将刚才的命令填入脚本内容即可

实际填写情况如图所示

非宝塔用户可以使用Linux自带的crontab
我们需要建立clean.sh脚本
find /www/wwwroot/qbl -mtime +7 -name "*.png" -exec rm -rf {} \;
你添加脚本如果不知道位置,可以输入pwd获取它放的路径
然后添加到crontab中,输入下面命令
crontab -e
然后我们需要将其添加到计划任务里,让其天零点自动执行
0 0 * * * /home/fancypig/cleandata.sh > /dev/null 2>&1
这上面0 0 * * *的含义,我们给出解释
上面是我们已经写好的,代表每天零点自动执行
第一个*号表示时间中的 分钟 取值范围:0-59
第二个*号表示时间中的 小时 取值范围:0-23
第三个*号表示一个月中的第几天,取值范围:1-31
第四个号表示一年中的第几个月,取值范围:1-12
第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天