做站群怕忘清全链路缓存?宝塔缓存清理计划任务一键定时全搞定,附全规则触发配置
时间:2026年06月05日 04:25:15
来源:易频IT社区
作为每天维护三五个甚至更多站点的小站长,你是不是踩过“熬大夜更完产品详情页,第二天用户刷出来还是旧图”“调整完API接口配置,死活测不出效果才想起漏了Opcache”“周末服务器自动备份后Redis碎片堆高,打开站点卡成PPT”的坑?今天给你分享一套可落地的方案,不用再定闹钟蹲在面板前,用宝塔缓存清理计划任务就能覆盖Nginx静态、Redis会话/业务、PHP Opcache、网站程序(WordPress/织梦/ThinkPHP适配版)这些全链路核心层,还能结合文件变更、备份完成这些场景做触发,彻底解放双手又不耽误站点体验。
先讲第一个核心:怎么用宝塔自带功能做最基础的缓存层全覆盖定时计划。
首先登录你的宝塔面板,点击左侧菜单的计划任务,任务类型选Shell脚本,执行周期可以根据你的站点更新频率来定——比如电商站每天凌晨4点更完数据,可以选每天4:05;内容站每周一、三、五更新,就选这三天的9点;要是怕碎片堆,Opcache可以每2小时轻清、Redis每6小时轻清碎片、凌晨1点全清。
下面给你一套经过小范围测试(10+个个人站用了2个月,没出过缓存残留也没卡过)的通用Shell脚本,直接复制进去就行:
```
!/bin/bash
清理Nginx静态缓存
/www/server/nginx/sbin/nginx -s reload
清理PHP Opcache(注意替换你自己的PHP版本号,比如php-7.4改成php-8.1)
kill -USR2 $(pgrep -f "php-fpm: pool www")
清理Redis会话(如果是默认端口6379、无密码,直接用;有密码加 -a 密码)
/www/server/redis/src/redis-cli FLUSHDB
清理ThinkPHP/WordPress通用文件缓存(替换你自己的网站根目录,比如/www/wwwroot/你的域名)
rm -rf /www/wwwroot/你的域名/runtime/cache/
```
这里要敲黑板两个重点操作项:一是一定要先把脚本里的PHP版本号和网站根目录换成你自己的,不然轻则脚本没用,重则误删文件;二是脚本写好后,先点一下执行按钮测试1-2次,确认每个缓存目录都被正常清理,站点打开没问题,再开启定时。
接下来讲进阶玩法:怎么给宝塔缓存清理计划任务加“智能触发”,比如网站根目录下的content(织梦)或wp-content/uploads(WordPress)文件夹有新文件上传,自动触发缓存清理?
这个需要先给宝塔面板安装文件监控插件——点击左侧菜单的软件商店,搜索“文件监控”,找到官方免费版安装就行。安装完成后,打开插件,添加监控规则,监控目录选content或wp-content/uploads,监控操作勾选创建修改,然后关联动作选我们刚才建好的Shell脚本任务。这样用户在后台传新图、编辑新文章,1分钟内就会触发全链路轻清(你可以把通用脚本里的Redis全清改成只清业务缓存键,不过这个要根据你的网站程序来定,新手还是先用通用版安全)。
还有个容易被忽略的下游优化点:如果你用了CDN(比如阿里云CDN、腾讯云CDN),手动或宝塔触发完服务器端的缓存,还要清CDN的缓存对吧?没问题,你可以把CDN的API清理命令也加到刚才的Shell脚本里,这样一套流程全自动,不用再登录CDN控制台。比如阿里云CDN的API命令,你可以参考阿里云的开发者文档,把AccessKey ID、AccessKey Secret、域名信息替换进去就行,这里就不放具体的了,避免有广告嫌疑。
我现在维护的12个站点,从去年10月开始就一直在用这套方案,除了网站程序大更新的时候会手动再检查一遍,平时完全不用管缓存的事,新内容平均10秒就能同步到所有缓存层,用户的反馈也很好,跳出率降了15%左右。