如何通过宝塔面板自动定时清理网站产生的大量临时缓存

大芳姑娘_7652

大芳姑娘_7652

2026-04-05

258人浏览

原创

不安全,直接用 rm -rf 清理网站缓存目录极大概率误删核心文件;应先确认真实路径、检查软链接、预览待删文件,再用 find 按时间/类型精准清理,或调用框架原生命令,并严格记录日志与设置合理频率。

如何通过宝塔面板自动定时清理网站产生的大量临时缓存

宝塔面板里定时任务执行 rm -rf 清理缓存目录是否安全?

不安全,直接用 rm -rf 清理网站缓存目录极大概率误删核心文件,尤其当路径写错、软链接未识别、或缓存与源码混放时。宝塔的定时任务本质是 shell 脚本执行,没有内置校验逻辑,rm -rf /www/wwwroot/example.com/runtime 看似精准,但若 runtime 是指向 /tmp 的软链接,就可能清掉系统临时文件;更常见的是,某些 CMS(如 ThinkPHP)把 runtime 目录权限设为 777,而子目录里混着 session 文件和日志,全删会导致用户登录态丢失或错误无法追踪。

实操建议:

  • 先确认缓存真实位置:进网站根目录,运行 ls -la | grep runtime 或 find . -maxdepth 2 -name "cache" -type d,别依赖 CMS 文档写的“默认路径”
  • 用 ls -la 检查目标目录是否含 -> 符号,有则说明是软链接,需清理其指向的真实路径,而非链接本身
  • 首次清理前,用 find /www/wwwroot/example.com/runtime -type f -mtime +7 | head -20 查看将被删的文件样例,确认全是缓存类(如 *.php~、cache_*.dat、sess_*),不是 config.php 或 route.php

用 find + -mtime 精准删除过期缓存文件

比 rm -rf 直接删目录更稳妥,find 可按修改时间、文件类型、大小做过滤,避免误伤。例如 WordPress 的 wp-content/cache 下常有 supercache 和 object-cache 子目录,其中只有 supercache 需定期清理,且应保留最近 3 天的缓存以应对突发流量。

实操建议:

  • 在宝塔「计划任务」中新建 Shell 脚本,内容为:
    find /www/wwwroot/example.com/wp-content/cache/supercache -type f -mtime +3 -delete
  • 若缓存文件名含固定前缀(如 Laravel 的 framework/cache/data/ 下全是 cache_*.php),加 -name "cache_*.php" 进一步限定
  • 避免用 -delete 参数初期调试:先换成 -print,运行后看输出是否符合预期,确认无误再换回 -delete
  • 注意 -mtime +3 表示“修改时间大于 3 天”,即 72 小时前的文件,不是“3 天内创建的文件”

PHP 应用自带缓存清理命令怎么接入宝塔定时任务?

硬写 shell 删除不如调用框架原生命令,比如 Laravel 的 php artisan cache:clear、Symfony 的 php bin/console cache:clear --env=prod,这些命令会触发框架内部的清理逻辑(如释放 Redis 锁、重置 APCu 标识、跳过正在写入的缓存文件),比暴力删除更健壮。

实操建议:

  • 进入网站根目录执行命令前,必须指定 PHP 版本路径,宝塔多版本共存时,php 命令可能指向旧版,导致报错。正确写法:
    /www/server/php/81/bin/php /www/wwwroot/example.com/artisan cache:clear
  • 某些命令需环境变量支持(如 APP_ENV=production),在定时任务脚本开头加:
    cd /www/wwwroot/example.com && export APP_ENV=production && /www/server/php/81/bin/php artisan cache:clear
  • 执行后检查返回值:在脚本末尾加 echo $? >> /tmp/cache_clear.log,若输出非 0,说明命令失败,需查日志定位(如 storage/logs/laravel.log)

清理频率和日志记录为什么不能省略?

缓存清理太频繁(如每小时一次)可能让 PHP 应用反复重建缓存,拖慢首页加载;太稀疏(如每月一次)又起不到释放磁盘作用。同时,没日志就等于盲操作——某天发现网站变慢,你根本不知道是缓存没清导致磁盘满,还是清理脚本误删了 session 导致用户反复登录。

实操建议:

  • 常规网站缓存清理频率:静态资源缓存(如 WP Super Cache)设为每天 2:00,PHP 运行时缓存(如 OPcache、APCu)不通过定时任务清,而是重启 PHP 服务时自动刷新
  • 所有定时任务脚本末尾必须追加日志:
    2>&1 >> /www/wwwroot/example.com/logs/cache_clean_$(date +\%Y\%m\%d).log
  • 宝塔「计划任务」列表里,勾选「记录脚本输出」,它会在后台保存最近 10 次执行的 stdout/stderr,比自己写日志更直观

真正麻烦的从来不是写一行 find 命令,而是搞清某个 cache 目录里哪些文件能删、哪些删了会断功能、以及删完之后有没有人知道它被删了。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

12084

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

6921

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2195

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

4408

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

5114

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

4031

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

5817

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

4562

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

12402

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习