Go to file
aiyimickey 502d1341fb fix: 备份脚本改用 docker cp 从容器内复制数据库文件
assets-ai 和 issue-ai 使用 Docker volume 存储数据,之前用 cp 从宿主机路径
复制拿到的是残留旧文件(assets.db 只有 4KB),改为 docker cp 确保拿到真实数据。
2026-05-18 14:57:19 +08:00
.gitignore refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
README.md refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
backup-db.sh fix: 备份脚本改用 docker cp 从容器内复制数据库文件 2026-05-18 14:57:19 +08:00
deploy-ai-readme.md docs: 更新连通性检查文档 — 重试机制 + 双向检查 2026-05-15 15:21:33 +08:00
deploy-ai.sh refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
deploy-cc.sh docs: 新增 deploy-ai.sh README 与部署连通性检查(v2026.05.14) 2026-05-15 09:18:55 +08:00
edit-site-cc.sh docs: 新增 deploy-ai.sh README 与部署连通性检查(v2026.05.14) 2026-05-15 09:18:55 +08:00
restore-db.sh refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
sites-manage-cloud.sh refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
sites-manage-local.sh refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00

README.md

Scripts — 部署与运维脚本

多站点 Docker 项目的运维脚本集合,涵盖本地开发管理、云服务器运维、云端部署、数据库备份恢复。

脚本清单

脚本 用途 目标环境
sites-manage-local.sh 本地站点启停npm run dev + Docker 本地
sites-manage-cloud.sh 云服务器站点启停SSH / 服务器本地运行) 云端
deploy-ai.sh 部署站点到 tlyq.aitxjp 服务器) 云端
deploy-cc.sh 部署站点到 tlyq.cctgz 服务器) 云端
backup-db.sh 备份数据库assets / issue / ldap 云端 → 本地
restore-db.sh 恢复数据库到本地或云端 本地 / 云端
edit-site-cc.sh www.tlyq.cc 官网内容管理 云端

sites-manage-local.sh — 本地站点管理

bash scripts/sites-manage-local.sh start           # 启动全部
bash scripts/sites-manage-local.sh start ai        # 启动 ai 全部
bash scripts/sites-manage-local.sh start ldap oa   # 启动指定站点
bash scripts/sites-manage-local.sh stop oa         # 停止指定站点
bash scripts/sites-manage-local.sh restart ldap    # 重启指定站点
bash scripts/sites-manage-local.sh status          # 查看状态

站点启动方式:

站点 方式 端口
ldap Docker 6178Web UI、3890LDAP
oa npm run dev(宿主机) 6179
issue npm run dev(宿主机) 6176
assets npm run dev(宿主机) 6177
www / cloud / token Docker 61736175

sites-manage-cloud.sh — 云服务器站点管理

bash scripts/sites-manage-cloud.sh start ai        # 启动全部
bash scripts/sites-manage-cloud.sh restart nginx   # 重启 nginx
bash scripts/sites-manage-cloud.sh stop oa issue   # 停指定站点
bash scripts/sites-manage-cloud.sh status          # 查看状态

自动检测运行环境:本地 Mac 运行时通过 SSH 操作 txjp在云服务器上运行时直接操作本地 Docker。也可显式指定

OA_REMOTE=local bash scripts/sites-manage-cloud.sh status   # 强制本地模式
OA_REMOTE=ssh bash scripts/sites-manage-cloud.sh status     # 强制 SSH 模式

站点全部以 Docker 方式运行,依赖关系:ldap → oa / issue / assets → nginx

deploy-ai.sh — tlyq.ai 部署

bash scripts/deploy-ai.sh             # 自动检测:增量 or 完整构建
bash scripts/deploy-ai.sh --force     # 强制完整构建
bash scripts/deploy-ai.sh --restart   # 仅重启容器

交互式选择站点17www / cloud / token / issue / assets / oa / ldap。

流程:源码打包 → 上传 → 服务器 npm installnpm run build → 容器重建。部署后自动验证。

LDAP 部署特殊处理:上传 Dockerfile + docker-compose.yml自动创建 .env去除端口映射--build 构建含 sqlite3 的镜像。

backup-db.sh — 数据库备份

bash scripts/backup-db.sh

一键备份三个数据库:

数据库 服务 内容
assets-{时间戳}.db assets-ai 设备资产
issue-{时间戳}.db issue-ai 工单、配件
ldap-{时间戳}.db lldap 全部用户账号

流程WAL checkpoint → 云端打包 → 云端持久保留 → 下载到本地 → 完整性验证。

详细文档见 BACKUP-RESTORE.md

restore-db.sh — 数据库恢复

# 恢复云端数据库
bash scripts/restore-db.sh cloud issue issue-20260518_1200.db
bash scripts/restore-db.sh cloud ldap ldap-20260518_1200.db

# 恢复本地数据库
bash scripts/restore-db.sh local assets assets-20260518_1200.db

支持服务:assets / issue / ldap。流程:检查 → 验证 → 确认 → 备份当前库 → 停止容器 → 替换 → 清理 WAL → 启动 → 验证。

备份存储路径

位置 路径
云端持久备份 /root/docker/db-backups/
本地备份 db-backups/
云端临时 /tmp/db-backup/(完成后清理)

依赖

  • 本地macOS / Linuxbashssh配置 txjptgz 别名scpdockersqlite3
  • 云端Docker ComposeNode.jsbetter-sqlite3