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

问题场景

服务器零时图片太多,怎么定时清理呢

解决方案

命令行

我们可以用一行命令就解决

find /www/wwwroot/qbl -mtime +7 -name "*.png" -exec rm -rf {} \;
  • find后面跟要查找的目录,/www/wwwroot/qbl是我们要查找的目录,如果要全盘搜索,那么修改成/
  • -name后面可以指定文件类型,我们这里是"*.png",如果你想清理的日志,可以自行修改成"*.log"
  • -exec代表要执行的命令,我们这里要进行rm -rf删除

如何配合宝塔完成计划任务

在宝塔面板的计划任务中,我们选择Shell脚本,并输入对应的任务名称,将刚才的命令填入脚本内容即可

图片[1]-【服务器运维】如何定时清理服务器内的临时图片/日志-渗透云记 - 专注于网络安全与技术分享

实际填写情况如图所示

图片[2]-【服务器运维】如何定时清理服务器内的临时图片/日志-渗透云记 - 专注于网络安全与技术分享

非宝塔用户可以使用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/<strong>null</strong> 2>&1

这上面0 0 * * *的含义,我们给出解释

上面是我们已经写好的,代表每天零点自动执行

第一个*号表示时间中的 分钟 取值范围:0-59

第二个*号表示时间中的 小时 取值范围:0-23

第三个*号表示一个月中的第几天,取值范围:1-31

第四个号表示一年中的第几个月,取值范围:1-12

第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容