53863559f4
Retarget git remote, install path, and deploy docs from crypto_monitor to crypto_monitor_user. Co-authored-by: Cursor <cursoragent@cursor.com>
113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
# Plan B:整目录重装(生产清库)
|
|
|
|
适用于:**保留三所 `.env` 与中控配置,丢弃旧代码,旧 SQLite,脏 PM2 名单**(例如移除 `gate_bot` 后偶发重启).
|
|
|
|
与 **[setup_env.sh](./setup_env.sh)** 的关系:
|
|
|
|
| 脚本 | 用途 |
|
|
|------|------|
|
|
| `setup_env.sh` | **首次安装 / 日常**:建 venv,装依赖,从 `.env.example` 复制(**不变**) |
|
|
| `reinstall.sh` | **整目录重装**:备份 → 移走旧目录 → `git clone` → 调 `setup_env.sh` → 恢复配置 → PM2 |
|
|
|
|
---
|
|
|
|
## 一键执行(推荐)
|
|
|
|
在现有服务器安装上以 **root** 执行:
|
|
|
|
```bash
|
|
cd /opt/crypto_monitor_user
|
|
bash deploy/reinstall.sh --yes
|
|
```
|
|
|
|
交互确认(不加 `--yes`):
|
|
|
|
```bash
|
|
bash deploy/reinstall.sh
|
|
```
|
|
|
|
仅预览步骤:
|
|
|
|
```bash
|
|
bash deploy/reinstall.sh --dry-run
|
|
```
|
|
|
|
---
|
|
|
|
## 脚本会做什么
|
|
|
|
1. 备份到 **`/root/backups/pre-reinstall-YYYYMMDD-HHMMSS/`**
|
|
- 三所 `crypto_monitor_*/.env`
|
|
- `manual_trading_hub/.env`
|
|
- `manual_trading_hub/hub_settings.json`(若有)
|
|
- 可选:仓库内 `one_shot` 备份目录
|
|
2. **`pm2 stop all` + `pm2 delete all`**
|
|
3. **`mv /opt/crypto_monitor_user /opt/crypto_monitor_user.old.时间戳`**
|
|
4. **`git clone`** 到 `/opt/crypto_monitor_user`(默认 `main`)
|
|
5. **`bash deploy/setup_env.sh --skip-env-copy --recreate-venv --skip-pm2`**
|
|
6. 从备份 **恢复 `.env` / `hub_settings.json`**
|
|
7. **`deploy/sanitize_hub_settings.py`** 去掉 `gate_bot` / 第四账户
|
|
8. **`deploy/pm2_start_all.sh`** + `pm2 save`
|
|
9. 为三所重装 **每日 0 点备份 cron**(可用 `--no-backup-cron` 跳过)
|
|
|
|
**不会备份/恢复**:`crypto.db`,hub `data/*.db`,`static/images`(符合「全新启动」).
|
|
|
|
**不会动**:宝塔/Nginx 反代,SSH SOCKS 隧道(tmux 内).
|
|
|
|
---
|
|
|
|
## 环境变量
|
|
|
|
```bash
|
|
export INSTALL_ROOT=/opt/crypto_monitor_user
|
|
export GIT_URL=https://git.bz121.com/dekun/crypto_monitor_user.git
|
|
export GIT_BRANCH=main
|
|
export BACKUP_ROOT=/root/backups
|
|
bash deploy/reinstall.sh --yes
|
|
```
|
|
|
|
---
|
|
|
|
## 验收
|
|
|
|
```bash
|
|
pm2 list
|
|
# 应有 7 个: crypto_binance crypto_gate crypto_okx manual-trading-hub manual-agent-*
|
|
|
|
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:5100/
|
|
```
|
|
|
|
浏览器:中控 `/monitor` 登录,三所 LINK 绿,监控区为空库.
|
|
|
|
---
|
|
|
|
## 回滚
|
|
|
|
旧目录默认保留为 `/opt/crypto_monitor_user.old.时间戳`,配置在 `/root/backups/pre-reinstall-*`:
|
|
|
|
```bash
|
|
pm2 delete all
|
|
rm -rf /opt/crypto_monitor_user
|
|
mv /opt/crypto_monitor_user.old.XXXXXXXX /opt/crypto_monitor_user
|
|
bash /opt/crypto_monitor_user/deploy/pm2_start_all.sh
|
|
```
|
|
|
|
确认新环境稳定后再删 `.old.*` 目录.
|
|
|
|
---
|
|
|
|
## 辅助脚本
|
|
|
|
| 文件 | 说明 |
|
|
|------|------|
|
|
| [pm2_start_all.sh](./pm2_start_all.sh) | 按顺序 PM2 启动三所 + hub(setup_env 之后手动用) |
|
|
| [sanitize_hub_settings.py](./sanitize_hub_settings.py) | 清理 `hub_settings.json` 中 gate_bot 条目 |
|
|
|
|
---
|
|
|
|
## 相关文档
|
|
|
|
- [deploy/README.md](./README.md) — 首次一键安装
|
|
- [docs/ubuntu-server.md](../docs/ubuntu-server.md) — Python / PM2 版本
|
|
- [备份与恢复.md](../备份与恢复.md) — 日常 DB 备份 cron
|