CMS定时任务配置,自动清理缓存与日志

很多CMS站点运行一段时间后,缓存文件会占满磁盘,日志文件也会越滚越大,手动清理既麻烦又容易忘。
本文面向零基础用户,讲清如何通过CMS定时任务配置,自动清理缓存与日志,让服务器保持干净。

先搞明白要清理什么

动手之前,先通过SSH连上服务器,确认缓存目录和日志目录的位置。
常见CMS的路径如下,实际以你使用的程序为准:

  • 缓存目录:通常位于 /www/wwwroot/你的站点/runtime/cache/www/wwwroot/你的站点/data/cache
  • 日志目录:常见为 /www/wwwroot/你的站点/runtime/log/www/wwwroot/你的站点/data/log

du -sh 命令查看当前占用:

du -sh /www/wwwroot/你的站点/runtime/cache
du -sh /www/wwwroot/你的站点/runtime/log

缓存可以随时删,程序会自动重建;
但日志删除前建议先确认没有正在排查的问题。

写一个可复用的清理脚本

/www/wwwroot/你的站点/ 下新建 clean.sh,内容如下:

#!/bin/bash
# 清理缓存
find /www/wwwroot/你的站点/runtime/cache -type f -mtime +1 -delete
# 清理7天前的日志
find /www/wwwroot/你的站点/runtime/log -type f -mtime +7 -delete
# 清理空目录
find /www/wwwroot/你的站点/runtime/cache -type d -empty -delete

-mtime +1 表示只删除修改时间超过1天的文件,避免把正在使用的缓存删掉。
保存后赋予执行权限:

chmod +x /www/wwwroot/你的站点/clean.sh

先手动跑一次,确认没有报错:

bash /www/wwwroot/你的站点/clean.sh

脚本能手动执行成功,是配置定时任务的前提。

两种配置定时任务的方式

方式一:宝塔面板计划任务

如果你用的是宝塔面板,操作最直观:

  1. 登录宝塔面板,左侧菜单点击“计划任务”
  2. 任务类型选择“Shell脚本”
  3. 任务名称填“CMS清理缓存日志”
  4. 执行周期选“每天”,时间建议凌晨3点
  5. 脚本内容填 bash /www/wwwroot/你的站点/clean.sh
  6. 点击“添加任务”

添加后可在列表点“执行”测试,日志会显示执行结果。

方式二:Linux crontab

没有面板或习惯命令行的,直接用 crontab -e 编辑:

crontab -e

加入一行:

0 3 * * * /bin/bash /www/wwwroot/你的站点/clean.sh >> /tmp/clean.log 2>&1

这行表示每天凌晨3点执行脚本,并把输出追加到 /tmp/clean.log,方便日后排查。
保存退出后,用 crontab -l 查看是否写入成功。

两种方式选一种即可,不要同时配置,否则可能重复执行。

容易踩坑的几个地方

  • 路径写错:脚本里的站点路径必须和实际一致,建议先用 pwd 确认。
  • 权限不足:crontab 执行时环境变量少,脚本里尽量用绝对路径,命令前可加 /bin/bash
  • 误删日志:如果站点正在排查故障,先把 -mtime +7 改成 +30,保留更久。
  • 缓存删太勤:高频访问站点不建议每天清缓存,可改为每周一次,减少重建开销。
  • 宝塔任务没执行:检查面板计划任务服务是否正常运行,或改用 crontab 测试。

验证是否真的生效

配置完成后,建议做一次完整验证:

  1. 手动在缓存目录创建一个测试文件:touch /www/wwwroot/你的站点/runtime/cache/test.tmp
  2. 把清理脚本的 -mtime +1 临时改成 -mtime +0,手动执行一次
  3. ls 查看 test.tmp 是否被删除
  4. 确认无误后,把参数改回 +1,恢复正式配置

另外可以第二天检查 /tmp/clean.log 是否有输出,或对比清理前后的目录大小:

du -sh /www/wwwroot/你的站点/runtime/cache

如果目录大小明显下降,说明定时任务已经正常工作。

常见疑问

清理缓存会影响网站访问吗? 首次访问会稍慢,因为程序需要重建缓存,之后恢复正常。
建议在访问低谷期执行。

日志可以直接全部删除吗? 不建议。
日志是排查问题的依据,保留最近7到30天比较稳妥,除非磁盘已经告急。

定时任务没执行怎么排查? 先看 /tmp/clean.log 有没有报错,再检查 crontab 时间格式是否正确,最后确认脚本路径和权限。

Windows服务器怎么处理? 可以在“任务计划程序”中创建基本任务,操作选“启动程序”,程序填 bash.exe,参数填脚本路径,触发时间同样设为凌晨。

按上面步骤配置好CMS定时任务,缓存与日志就能自动清理,不用再手动操心。
建议先小范围测试,确认无误后再正式启用。

分享到:
上一篇
CMS模板调用数据库内容,前端开发实操
下一篇
CMS后台IP访问限制,只允许指定IP登录
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意