Files
Nexus/docs/release/20260708/Nexus-宝塔hardcoded3600批量修复完成-20260707.md
T
r 9b583ccc91
Nexus CI/CD / test (push) Waiting to run
Nexus CI/CD / e2e (push) Blocked by required conditions
Nexus CI/CD / deploy (push) Blocked by required conditions
Nexus Pre-commit Checks / quick-check (push) Waiting to run
docs(release): 主与 release 分支合并功能清单 + 导入 release 文档目录
便于 Gitea 上 main ↔ release/20260708-axs 合并评审与冲突对照。
2026-07-09 01:14:32 +08:00

3.4 KiB
Raw Blame History

Nexus 宝塔 hardcoded_3600 批量修复完成记录(2026-07-07)

修复范围

来源:work/bt_bulk_session_audit.before_patch_20260707-1838.jsonl

本次只处理:

  • 在线服务器
  • task_state=hardcoded_3600
  • 共 148 台

本次没有处理:

  • panel_ssl=0 的 112 台
  • unknown_task_pattern 的 268 台
  • 其它异常/无面板机器

修复动作

对每台目标服务器执行:

  1. 检查 /www/server/panel/task.py
  2. 查找硬编码逻辑:
    • if f_time > 3600:
  3. 在 session 清理循环前插入:
    • 默认 session_cleanup_timeout = 86400
    • 优先读取 public.get_session_timeout()
  4. 把条件改成:
    • if f_time > session_cleanup_timeout:
  5. 写入前做备份:
    • /www/server/panel/task.py.nexus-session-ttl.bak
  6. 写入临时文件并执行 Python 编译检查。
  7. 原子替换 task.py
  8. 如果本次确实发生修改,则执行 /etc/init.d/bt reload

执行批次

第一批 10 台:执行 ID 5944

剩余 138 台按 20 台一批执行:

批次 执行 ID 数量 结果
1 5944 10 成功
2 5945 20 成功
3 5946 20 成功
4 5947 20 成功
5 5948 20 成功
6 5949 20 成功
7 5950 20 成功
8 5951 18 成功

总计:148 / 148 成功。

执行结果

所有目标机器返回:

  • exit_code=0
  • patch_result=patched
  • after_patched=True

本地结果文件:

  • work/bt_session_ttl_patch_batch_20260707-183535.json
  • work/bt_session_ttl_patch_batch_20260707-183648_exec5945.json
  • work/bt_session_ttl_patch_batch_20260707-183658_exec5946.json
  • work/bt_session_ttl_patch_batch_20260707-183707_exec5947.json
  • work/bt_session_ttl_patch_batch_20260707-183717_exec5948.json
  • work/bt_session_ttl_patch_batch_20260707-183727_exec5949.json
  • work/bt_session_ttl_patch_batch_20260707-183737_exec5950.json
  • work/bt_session_ttl_patch_batch_20260707-183747_exec5951.json
  • work/bt_session_ttl_patch_summary_20260707-183747.json

修复后全量只读复查

复查范围:在线 420 台。

复查结果:

状态 数量
patched_timeout 149
unknown_task_pattern 268
no_panel 1
error 2
hardcoded_3600 0

关键验证:

  • 修复前 hardcoded_3600148 台
  • 修复后这 148 台全部变为:patched_timeout
  • 修复后剩余 hardcoded_36000 台

全量复查中有 2 台轮询超时/解析异常:

  • server_id 225
  • server_id 1

这 2 台不是本轮 hardcoded_3600 未修复目标;本轮 148 台目标已全部验证成功。

当前剩余问题

仍有 112 台 panel_ssl=0,它们主要是另一类问题:

  • 多数为 Ubuntu 24.04.4
  • 多数为腾讯云 VM-* 主机名
  • 多数属于 unknown_task_pattern
  • 不适合直接套本轮 hardcoded_3600 补丁

建议下一步:对 112 台 panel_ssl=0 抽样 5-10 台读取 task.py / public.py,按宝塔版本分类后再决定策略。

回滚方式

单台回滚:

cp -a /www/server/panel/task.py.nexus-session-ttl.bak /www/server/panel/task.py
python -m py_compile /www/server/panel/task.py
/etc/init.d/bt reload

如果宝塔使用独立 pyenv,编译命令可替换为:

/www/server/panel/pyenv/bin/python3 -m py_compile /www/server/panel/task.py

结论

148 台 hardcoded_3600 已全部修复并通过复查,当前在线 420 台里 hardcoded_3600 已清零。