4923b32bbe
添加 deploy/reinstall.sh 备份 env、克隆、调 setup_env、恢复配置并 PM2 启动; 附带 pm2_start_all.sh 与 hub_settings 清理工具。 Co-authored-by: Cursor <cursoragent@cursor.com>
3.0 KiB
3.0 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
脚本会做什么
- 备份到
/root/backups/pre-reinstall-YYYYMMDD-HHMMSS/- 三所
crypto_monitor_*/.env manual_trading_hub/.envmanual_trading_hub/hub_settings.json(若有)- 可选:仓库内
one_shot备份目录
- 三所
pm2 stop all+pm2 delete allmv /opt/crypto_monitor /opt/crypto_monitor.old.时间戳git clone到/opt/crypto_monitor(默认main)bash deploy/setup_env.sh --skip-env-copy --recreate-venv --skip-pm2- 从备份 恢复
.env/hub_settings.json deploy/sanitize_hub_settings.py去掉gate_bot/ 第四账户deploy/pm2_start_all.sh+pm2 save- 为三所重装 每日 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 条目 |
相关文档
- deploy/README.md — 首次一键安装
- docs/ubuntu-server.md — Python / PM2 版本
- 备份与恢复.md — 日常 DB 备份 cron