文档修改
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 备份与恢复(Ubuntu 服务器)
|
||||
|
||||
本文档面向 **VPS / Ubuntu**,项目统一放在 **`/opt/crypto_monitor`**,数据备份统一放在 **`/root/backups`**。
|
||||
本文档面向 **VPS / Ubuntu**,项目统一放在 **`/opt/crypto_monitor_user`**,数据备份统一放在 **`/root/backups`**。
|
||||
|
||||
| 类型 | 内容 | 存放位置 | 频率 |
|
||||
|------|------|----------|------|
|
||||
@@ -20,7 +20,7 @@
|
||||
apt install -y sqlite3 2>/dev/null || true
|
||||
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
cd "/opt/crypto_monitor/${dir}" || exit 1
|
||||
cd "/opt/crypto_monitor_user/${dir}" || exit 1
|
||||
chmod +x scripts/backup_data.sh scripts/install_backup_cron.sh
|
||||
bash scripts/install_backup_cron.sh
|
||||
bash scripts/backup_data.sh
|
||||
@@ -51,7 +51,7 @@ ls -la /root/backups/*/
|
||||
|
||||
```bash
|
||||
INSTANCE=crypto_monitor_binance
|
||||
cd "/opt/crypto_monitor/${INSTANCE}"
|
||||
cd "/opt/crypto_monitor_user/${INSTANCE}"
|
||||
chmod +x scripts/backup_data.sh scripts/install_backup_cron.sh
|
||||
bash scripts/install_backup_cron.sh
|
||||
bash scripts/backup_data.sh
|
||||
@@ -68,7 +68,7 @@ bash scripts/backup_data.sh
|
||||
```bash
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
echo ">>> ${dir}"
|
||||
bash "/opt/crypto_monitor/${dir}/scripts/backup_data.sh"
|
||||
bash "/opt/crypto_monitor_user/${dir}/scripts/backup_data.sh"
|
||||
done
|
||||
ls -la /root/backups/*/*/
|
||||
```
|
||||
@@ -95,8 +95,8 @@ tail -n 20 /var/log/crypto-monitor-backup-crypto_monitor_gate_bot.log
|
||||
```bash
|
||||
DATE=$(TZ=Asia/Shanghai date +%Y%m%d)
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
src="/opt/crypto_monitor/${dir}/.env"
|
||||
dst="/opt/crypto_monitor/${dir}/.env.backup.${DATE}"
|
||||
src="/opt/crypto_monitor_user/${dir}/.env"
|
||||
dst="/opt/crypto_monitor_user/${dir}/.env.backup.${DATE}"
|
||||
if [ -f "$src" ]; then
|
||||
cp -a "$src" "$dst"
|
||||
echo "ok: $dst"
|
||||
@@ -112,7 +112,7 @@ done
|
||||
DATE=$(TZ=Asia/Shanghai date +%Y%m%d)
|
||||
mkdir -p /root/backups/env
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
src="/opt/crypto_monitor/${dir}/.env"
|
||||
src="/opt/crypto_monitor_user/${dir}/.env"
|
||||
if [ -f "$src" ]; then
|
||||
cp -a "$src" "/root/backups/env/${dir}.env.${DATE}"
|
||||
echo "ok: /root/backups/env/${dir}.env.${DATE}"
|
||||
@@ -134,7 +134,7 @@ ls -la /root/backups/env/
|
||||
```bash
|
||||
INSTANCE=crypto_monitor_binance
|
||||
DATE=20260517
|
||||
cd "/opt/crypto_monitor/${INSTANCE}"
|
||||
cd "/opt/crypto_monitor_user/${INSTANCE}"
|
||||
cp -a ".env.backup.${DATE}" .env
|
||||
echo "restored .env from .env.backup.${DATE}"
|
||||
```
|
||||
@@ -144,7 +144,7 @@ echo "restored .env from .env.backup.${DATE}"
|
||||
```bash
|
||||
INSTANCE=crypto_monitor_binance
|
||||
DATE=20260517
|
||||
cp -a "/root/backups/env/${INSTANCE}.env.${DATE}" "/opt/crypto_monitor/${INSTANCE}/.env"
|
||||
cp -a "/root/backups/env/${INSTANCE}.env.${DATE}" "/opt/crypto_monitor_user/${INSTANCE}/.env"
|
||||
echo "restored from /root/backups/env/${INSTANCE}.env.${DATE}"
|
||||
```
|
||||
|
||||
@@ -170,7 +170,7 @@ pm2 restart crypto-monitor-gate-bot
|
||||
INSTANCE=crypto_monitor_binance
|
||||
DATE=2026-05-17
|
||||
BK="/root/backups/${INSTANCE}/${DATE}"
|
||||
PROJ="/opt/crypto_monitor/${INSTANCE}"
|
||||
PROJ="/opt/crypto_monitor_user/${INSTANCE}"
|
||||
|
||||
test -f "${BK}/crypto.db" || { echo "backup not found: ${BK}"; exit 1; }
|
||||
|
||||
@@ -198,12 +198,12 @@ DATE=$(TZ=Asia/Shanghai date +%Y%m%d)
|
||||
mkdir -p /root/backups/env
|
||||
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
PROJ="/opt/crypto_monitor/${dir}"
|
||||
PROJ="/opt/crypto_monitor_user/${dir}"
|
||||
[ -f "${PROJ}/.env" ] && cp -a "${PROJ}/.env" "/root/backups/env/${dir}.env.${DATE}"
|
||||
bash "${PROJ}/scripts/backup_data.sh" 2>/dev/null || true
|
||||
done
|
||||
|
||||
cd /opt/crypto_monitor
|
||||
cd /opt/crypto_monitor_user
|
||||
git pull
|
||||
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
@@ -250,7 +250,7 @@ pm2 restart all
|
||||
|
||||
```bash
|
||||
for dir in crypto_monitor_binance crypto_monitor_gate crypto_monitor_gate_bot; do
|
||||
SCRIPT="/opt/crypto_monitor/${dir}/scripts/backup_data.sh"
|
||||
SCRIPT="/opt/crypto_monitor_user/${dir}/scripts/backup_data.sh"
|
||||
crontab -l 2>/dev/null | grep -vF "$SCRIPT" | crontab -
|
||||
done
|
||||
crontab -l
|
||||
|
||||
Reference in New Issue
Block a user