如何定时清理服务器内的临时图片/日志

如何定时清理服务器内的临时图片/日志

问题场景

之前有热心网友提问,乔碧萝里的图片只存储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

实际填写情况如图所示

图片[2]-如何定时清理服务器内的临时图片/日志-FancyPig's blog

非宝塔用户可以使用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
喜欢就支持一下吧
点赞25赞赏 分享
评论 共4条

请登录后发表评论