3.4 KiB
3.4 KiB
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 台- 其它异常/无面板机器
修复动作
对每台目标服务器执行:
- 检查
/www/server/panel/task.py。 - 查找硬编码逻辑:
if f_time > 3600:
- 在 session 清理循环前插入:
- 默认
session_cleanup_timeout = 86400 - 优先读取
public.get_session_timeout()
- 默认
- 把条件改成:
if f_time > session_cleanup_timeout:
- 写入前做备份:
/www/server/panel/task.py.nexus-session-ttl.bak
- 写入临时文件并执行 Python 编译检查。
- 原子替换
task.py。 - 如果本次确实发生修改,则执行
/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=0patch_result=patchedafter_patched=True
本地结果文件:
work/bt_session_ttl_patch_batch_20260707-183535.jsonwork/bt_session_ttl_patch_batch_20260707-183648_exec5945.jsonwork/bt_session_ttl_patch_batch_20260707-183658_exec5946.jsonwork/bt_session_ttl_patch_batch_20260707-183707_exec5947.jsonwork/bt_session_ttl_patch_batch_20260707-183717_exec5948.jsonwork/bt_session_ttl_patch_batch_20260707-183727_exec5949.jsonwork/bt_session_ttl_patch_batch_20260707-183737_exec5950.jsonwork/bt_session_ttl_patch_batch_20260707-183747_exec5951.jsonwork/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_3600:148 台 - 修复后这 148 台全部变为:
patched_timeout - 修复后剩余
hardcoded_3600:0 台
全量复查中有 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 已清零。