Files
crypto_monitor/deploy/reinstall-plan-b.md
T
dekun 4923b32bbe feat: 新增 Plan B 整目录重装脚本,不影响 setup_env 一键安装
添加 deploy/reinstall.sh 备份 env、克隆、调 setup_env、恢复配置并 PM2 启动;
附带 pm2_start_all.sh 与 hub_settings 清理工具。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:07:59 +08:00

3.0 KiB
Raw Blame History

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/*.dbstatic/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 启动三所 + hubsetup_env 之后手动用)
sanitize_hub_settings.py 清理 hub_settings.json 中 gate_bot 条目

相关文档