问题场景
之前有热心网友提问,乔碧萝里的图片只存储7天是如何实现的?
解决方案
命令行
我们可以用一行命令就解决
find /www/wwwroot/qbl -mtime +7 -name "*.png" -exec rm -rf {} \;
find
后面跟要查找的目录,/www/wwwroot/qbl
是我们要查找的目录,如果要全盘搜索,那么修改成/
-name
后面可以指定文件类型,我们这里是"*.png"
,如果你想清理的日志,可以自行修改成"*.log"
-exec
代表要执行的命令,我们这里要进行rm -rf
删除
如何配合宝塔完成计划任务
在宝塔面板的计划任务中,我们选择Shell脚本
,并输入对应的任务名称
,将刚才的命令填入脚本内容
即可
![图片[1]-如何定时清理服务器内的临时图片/日志-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220518090617325-1024x490-1.webp)
实际填写情况如图所示
![图片[2]-如何定时清理服务器内的临时图片/日志-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220518090732739-1024x491-1.webp)
非宝塔用户可以使用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都表示星期天
© 版权声明
THE END
暂无评论内容