bt 16 是最直接、覆盖最全的一键修复命令,适用于面板打不开、系统内部错误、python模块缺失、数据库损坏等多数突发性环境崩溃场景,90%常见故障可恢复。

bt 16 是目前最直接、覆盖最全的一键修复命令,适用于面板打不开、报“系统内部错误”、Python模块缺失、数据库损坏等多数突发性环境崩溃场景。它不是万能的,但90%的常见故障靠它就能回血。
执行 bt 16 前必须确认的三件事
这个命令看似一键,但失败往往发生在执行前——不是脚本问题,而是环境没准备好。
- 确保你有
root权限,普通用户执行会静默失败 - 检查
/www/server/panel/pyenv目录是否真实存在;若已损毁(比如报No module named 'panelSite'),bt 16会卡住或报错,此时得先手动备份再重建:mv /www/server/panel/pyenv /www/backup/pyenv_backup,再跑更新脚本 - CentOS 7 用户注意:如果终端卡在
curl: (60) SSL certificate problem,说明 OpenSSL 和证书链不兼容,临时绕过校验:export CURL_CA_BUNDLE=再执行bt 16
面板打不开时,用 SSH 执行 bt 16 的标准流程
这是最常被跳过的实操路径——很多人以为必须进面板才能点“修复”,其实根本不用。
- 用 Xshell / FinalShell / macOS Terminal 连上服务器,
root登录 - 直接输入:
bt 16,回车 - 看到
正在修复面板…后别急着关窗口,等它输出[OK] Panel repair completed或类似成功标识(部分版本是Repair completed successfully) - 紧接着执行:
bt 1重启服务,而不是靠浏览器刷新硬等 - 等约 20 秒后,再访问
https://你的IP:8888,不要提前刷
修复完仍报错?重点查 default.db 和 pyenv 两个位置
很多“修复完成但功能异常”的情况,本质是数据库元数据损坏或 Python 环境半残——bt 16 默认不强制重建这两块,需要单独补刀。
- 如果首页能打开,但网站列表空白、SSL 管理报错、FTP 账户消失,大概率是面板数据库损坏,立刻补跑:
bash btpython /www/server/panel/script/init_db.py repair - 如果修复后提示
ModuleNotFoundError: No module named 'gevent'或'flask',说明pyenv里 pip 没装全,进入/www/server/panel/pyenv/bin后执行:./pip install --force-reinstall gevent flask - 别碰
/www/server/panel/data/default.db.bak——那是自动备份,除非你确认主库彻底乱码,否则优先用repair参数,不是删了重来
为什么不用面板网页里的“修复按钮”?
那个齿轮图标右上角的“修复面板”,只在面板前端还能加载 JS 的前提下才有效。一旦出现白屏、502、或者登录页就报 500 Internal Server Error,这个按钮点下去根本发不出请求——它依赖的后端接口本身已经挂了。
- 它的作用其实是调用和
bt 16同源的逻辑,但多了一层 Web 层转发,多一个环节就多一个失败点 - 如果你点了没反应、进度条不动、或者弹窗后页面卡死,说明面板进程已无法响应 HTTP 请求,这时候唯一靠谱的路径就是 SSH +
bt 16 - 顺带一提:
bt 10→ 选 8(网站权限修复)、bt 8(重启所有服务)这些命令,也比点网页按钮更稳,因为它们直通系统级操作
bt 16 成功后,建议立刻检查 /var/log/bt_panel.log 最后几行,看有没有 WARNING 级别的残留告警——有些模块只是“勉强活下来”,下次升级或加插件时还会爆。










