增加备份

This commit is contained in:
dekun
2026-05-17 09:28:18 +08:00
parent e7f24b5bb6
commit bded31a7e7
16 changed files with 568 additions and 9 deletions
+60 -1
View File
@@ -147,7 +147,66 @@ cp .env .env.backup.$(date +%Y%m%d)
- **换机 / 迁移**:用 `scp` 复制整份 `.env` 到新机器对应目录;或在新机重新 `cp .env.example .env` 后填写。
### 5.3 必填项检查(Binance + 代理
### 5.3 自动备份(数据库 + 复盘图片
默认每天 **北京时间 0:00** 备份到 **`/root/backups`**,保留 **30 天** 后自动删除更早的目录。
备份内容(路径来自 `.env``DB_PATH``UPLOAD_DIR`):
- `crypto.db`(优先 `sqlite3 .backup` 热备)
- `static/images` 打包为 `static_images.tar.gz`
目录结构示例:
```text
/root/backups/crypto_monitor_binance/2026-05-17/
crypto.db
static_images.tar.gz
manifest.txt
```
**一次性安装定时任务**(在对应项目目录执行,Binance / Gate 各执行一次):
```bash
cd /opt/crypto_monitor/crypto_monitor_binance
chmod +x scripts/backup_data.sh scripts/install_backup_cron.sh
bash scripts/install_backup_cron.sh
```
Gate 实例:
```bash
cd /opt/crypto_monitor/crypto_monitor_gate
bash scripts/install_backup_cron.sh
```
Gate Bot 实例(趋势回调等):
```bash
cd /opt/crypto_monitor/crypto_monitor_gate_bot
bash scripts/install_backup_cron.sh
```
**立即试跑**(不写 cron):
```bash
bash scripts/backup_data.sh
```
日志默认:`/var/log/crypto-monitor-backup-<项目目录名>.log`。可选在 `.env` 中覆盖:`BACKUP_ROOT``BACKUP_RETENTION_DAYS``BACKUP_INSTANCE`
**恢复示例**(先停 PM2,再覆盖文件):
```bash
pm2 stop crypto-monitor-binance
cp /root/backups/crypto_monitor_binance/2026-05-16/crypto.db ./crypto.db
tar -xzf /root/backups/crypto_monitor_binance/2026-05-16/static_images.tar.gz -C .
pm2 start ecosystem.config.cjs
```
建议安装:`apt install -y sqlite3`(热备更稳)。
### 5.4 必填项检查(Binance + 代理)
与交易所相关的变量使用 **`BINANCE_`** 前缀(与代码一致)。至少确认: