Files
crypto_monitor/deploy/reinstall-plan-b.md
T
dekun b733e551a0 Normalize fullwidth punctuation to ASCII across codebase.
Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 23:42:26 +08:00

2.9 KiB

Plan B:整目录重装(生产清库)

适用于:保留三所 .env 与中控配置,丢弃旧代码,旧 SQLite,脏 PM2 名单(例如移除 gate_bot 后偶发重启).

setup_env.sh 的关系:

脚本 用途
setup_env.sh 首次安装 / 日常:建 venv,装依赖,从 .env.example 复制(不变)
reinstall.sh 整目录重装:备份 → 移走旧目录 → git clone → 调 setup_env.sh → 恢复配置 → PM2

一键执行(推荐)

在现有服务器安装上以 root 执行:

cd /opt/crypto_monitor
bash deploy/reinstall.sh --yes

交互确认(不加 --yes):

bash deploy/reinstall.sh

仅预览步骤:

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 /opt/crypto_monitor.old.时间戳
  4. git clone/opt/crypto_monitor(默认 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 内).


环境变量

export INSTALL_ROOT=/opt/crypto_monitor
export GIT_URL=https://git.bz121.com/dekun/crypto_monitor.git
export GIT_BRANCH=main
export BACKUP_ROOT=/root/backups
bash deploy/reinstall.sh --yes

验收

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.old.时间戳,配置在 /root/backups/pre-reinstall-*:

pm2 delete all
rm -rf /opt/crypto_monitor
mv /opt/crypto_monitor.old.XXXXXXXX /opt/crypto_monitor
bash /opt/crypto_monitor/deploy/pm2_start_all.sh

确认新环境稳定后再删 .old.* 目录.


辅助脚本

文件 说明
pm2_start_all.sh 按顺序 PM2 启动三所 + hub(setup_env 之后手动用)
sanitize_hub_settings.py 清理 hub_settings.json 中 gate_bot 条目

相关文档