目录与数据
| 目录 | 用途 | 生产建议 |
|---|---|---|
conf/ | 测网列表、基线配置、STRHUB/EPHUB 配置 | 变更前备份,敏感凭据不要提交 Git |
database/ | SQLite 数据库,包含用户、审计、SCRHUB 任务等 | 必须持久化,容器部署时挂载到宿主机 |
log/ 或 logs/ | 程序日志、trace 和运维日志 | 定期归档,保留排障窗口 |
result/ | POS 结果、转换结果、星历输出文件 | 放在空间充足的磁盘 |
script/ | SCRHUB 可扫描和执行的脚本目录 | 只放经过审查的脚本,路径使用安全相对路径 |
public/ | 嵌入式 Web 前端资源 | 构建时可嵌入可执行文件 |
Docker 持久化
主项目 Dockerfile 在容器内创建:
/app/conf
/app/database
/app/result
/app/log
Compose 部署时应至少挂载:
volumes:
- ./conf:/app/conf
- ./database:/app/database
- ./result:/app/result
- ./log:/app/log
不要把用户库、审计库、任务库、结果文件写在容器临时层。容器删除后临时层数据无法恢复。
SCRHUB 数据
SCRHUB 使用 RTKHUB 登录会话,不单独维护账号。任务数据和执行日志保存在运行时数据库中,脚本文件来自 script/ 目录扫描。创建、更新和执行任务时会校验脚本路径,拒绝 ..、绝对路径、盘符、控制字符和常见 shell 元字符。
备份建议
升级前至少备份:
tar czf rtkhub-backup-$(date +%Y%m%d_%H%M%S).tar.gz conf database log result
恢复时先停服务,再替换目录,最后启动并检查 Web 控制台、API、关键基线和结果输出。