直接结论:5条SSH命令可清80%隐藏垃圾,重点清理/tmp、/var/cache、/www/server/panel/install;因apt/yum缓存、Nginx临时文件、安装包、日志压缩包等系统级路径文件不显示在宝塔界面,故df -h满而面板找不到大文件。

直接结论:不用进面板,5条SSH命令就能清掉80%以上的隐藏垃圾,重点是 /tmp、/var/cache、/www/server/panel/install 这三个目录。
为什么 df -h 显示磁盘已满,但宝塔文件管理器里找不到大文件?
因为真正吃空间的文件往往藏在系统级路径,不归宝塔界面管理——比如 apt/yum 缓存包、Nginx 临时上传文件、未清理的安装包、旧日志压缩包。这些文件默认对普通用户不可见,也不会出现在 /www/wwwroot 下。
-
/var/cache/apt/archives(Ubuntu/Debian)或/var/cache/yum(CentOS)里可能堆积数GB的 .deb/.rpm 安装缓存 -
/tmp和/var/tmp中残留的 PHP 上传临时文件、Composer 缓存、未被自动清理的 session 文件 -
/www/server/panel/install是宝塔安装脚本解压后默认存放路径,安装完从不自动删除,通常含 100MB+ 的 .tar.gz 包 - 宝塔日志压缩包(
/www/server/panel/logs/*.tar.gz)长期积累,单个可达 200MB+
清理 /tmp 和 /var/tmp 的安全操作方式
直接 rm -rf /tmp/* 风险高:可能误删正在运行进程的 socket 或 lock 文件。应按时间筛选,只删“7天以上未访问”的文件。
- 清空过期临时文件:
find /tmp -type f -mtime +7 -delete - 同理处理 /var/tmp:
find /var/tmp -type f -mtime +7 -delete - 若需强制清理(如磁盘已 100%),先检查哪些进程在用 tmp:
lsof +D /tmp 2>/dev/null | grep deleted,再决定是否重启相关服务
清除 apt/yum/dnf 包缓存的准确命令
不同系统命令不同,混用会报错。别信“一键通用脚本”,必须区分发行版:
- Ubuntu/Debian:
apt clean(清空/var/cache/apt/archives)或apt autoremove --purge(删无依赖包) - CentOS 7:
yum clean all(清/var/cache/yum) - CentOS 8+/AlmaLinux/Rocky:
dnf clean all - 注意:
apt autoclean只删旧版本缓存,不如apt clean彻底
宝塔专属垃圾路径:/www/server/panel/install 和 /tmp 下的 install_*.log
这两个位置是宝塔安装过程遗留的“重灾区”,且几乎从不被任何自动清理工具覆盖。
- 删安装包缓存:
rm -rf /www/server/panel/install/ - 删全部安装日志:
find /tmp /root -type f \( -name "install.log" -o -name "bt_install.log" -o -name "panel_install_*" \) -delete - 删残留的下载脚本:
rm -f /root/install-*.sh /tmp/install-*.sh - 验证是否还有宝塔相关压缩包:
find /tmp /root -name "*.tar.gz" -exec grep -l "bt.cn" {} \; -delete 2>/dev/null
最易被忽略的是:/var/log/journal/ 下的 systemd 日志,尤其开启 debug 模式后可暴涨至数 GB。执行 journalctl --vacuum-size=100M 才能真正释放空间,而不是只删 /var/log/messages。











