website-scripts/README.md

96 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Scripts — 部署与运维脚本
多站点 Docker 项目的运维脚本集合,涵盖本地开发管理、云端部署、数据库备份恢复、内容编辑等。
## 脚本清单
| 脚本 | 用途 | 目标环境 |
|------|------|---------|
| `local.sh` | 本地站点启停管理 | 本地 Docker |
| `deploy-ai.sh` | 部署站点到 tlyq.aitxjp 服务器) | 云端 |
| `deploy-cc.sh` | 部署站点到 tlyq.cctgz 服务器) | 云端 |
| `edit-site-cc.sh` | www.tlyq.cc 官网内容管理(新闻、联系方式等) | 云端 |
| `backup-db.sh` | 备份 issue-ai 和 assets-ai 数据库 | 云端 → 本地 |
| `restore-db.sh` | 恢复数据库(本地或云端) | 本地 / 云端 |
## 详细说明
### local.sh — 本地站点管理
```bash
bash scripts/local.sh start # 启动所有站点
bash scripts/local.sh stop # 停止所有站点
bash scripts/local.sh restart issue # 重启指定站点
bash scripts/local.sh status # 查看运行状态
```
支持站点www、cloud、token、issue、assets、ldap、oa。
启动前自动检查是否有线上域名残留,防止本地开发时跳转到生产环境。
### deploy-ai.sh — tlyq.ai 部署
```bash
bash scripts/deploy-ai.sh # 自动检测:增量 or 完整构建
bash scripts/deploy-ai.sh --force # 强制完整构建
bash scripts/deploy-ai.sh --restart # 仅重启容器
```
交互式选择站点后执行:源码打包 → 上传 → 服务器构建 → 容器重启。部署 issue/assets 后自动验证 API 连通性(带重试机制)。
> 详细文档见 [deploy-ai-readme.md](deploy-ai-readme.md)
### deploy-cc.sh — tlyq.cc 部署
```bash
bash scripts/deploy-cc.sh
```
交互式选择站点后部署到 tlyq.cctgz 服务器),逻辑与 deploy-ai.sh 类似。
### edit-site-cc.sh — tlyq.cc 官网内容编辑
```bash
bash scripts/edit-site-cc.sh
```
交互式菜单编辑 www.tlyq.cc 的联系方式、新闻动态、时间线等内容,修改后自动部署。
### backup-db.sh — 数据库备份
```bash
bash scripts/backup-db.sh
```
一键备份 issue-ai 和 assets-ai 的生产数据库:
1. 执行 WAL checkpoint 确保数据一致性
2. 在云端 `/root/docker/db-backups/` 保留一份
3. 下载到本地 `~/programs/docker/db-backups/`
4. 验证备份文件为有效 SQLite 数据库
### restore-db.sh — 数据库恢复
```bash
# 恢复本地数据库
bash scripts/restore-db.sh local issue issue-20260515_163059.db
# 恢复云端数据库
bash scripts/restore-db.sh cloud assets assets-20260515_163059.db
```
恢复流程:停止容器 → 备份当前库 → 替换 → 清理 WAL/SHM → 启动 → 验证。支持 `issue``assets` 两个服务。
## 备份存储路径
| 位置 | 路径 |
|------|------|
| 云端持久备份 | `/root/docker/db-backups/` |
| 本地备份 | `~/programs/docker/db-backups/` |
| 云端临时(传输中) | `/tmp/db-backup/`(完成后清理) |
## 依赖
- **本地**macOS / Linuxbashssh配置 `txjp``tgz` 别名scpdocker
- **云端**Docker ComposeNode.jsbetter-sqlite3