#!/bin/bash
# backup.sh - 備份資料庫和重要檔案

set -e

BACKUP_DIR="$HOME/backups"
APP_DIR="$HOME/momo_pro_system"
DATE=$(date +%Y%m%d_%H%M%S)

echo "=========================================="
echo "Momo Pro System - 備份"
echo "=========================================="

# 建立備份目錄
mkdir -p "$BACKUP_DIR"

# 備份資料庫
echo "💾 備份資料庫..."
if [ -f "$APP_DIR/data/momo_database.db" ]; then
    cp "$APP_DIR/data/momo_database.db" "$BACKUP_DIR/momo_db_$DATE.db"
    echo "✅ 資料庫已備份到: $BACKUP_DIR/momo_db_$DATE.db"
else
    echo "⚠️  找不到資料庫檔案"
fi

# 備份 .env 檔案
echo "🔐 備份環境變數..."
if [ -f "$APP_DIR/.env" ]; then
    cp "$APP_DIR/.env" "$BACKUP_DIR/env_$DATE.backup"
    echo "✅ .env 已備份"
fi

# 備份日誌（最近 7 天）
echo "📋 備份日誌..."
if [ -d "$APP_DIR/logs" ]; then
    tar -czf "$BACKUP_DIR/logs_$DATE.tar.gz" -C "$APP_DIR" logs/
    echo "✅ 日誌已備份"
fi

# 清理舊備份（保留最近 7 天）
echo "🧹 清理舊備份..."
find "$BACKUP_DIR" -name "momo_db_*.db" -mtime +7 -delete
find "$BACKUP_DIR" -name "env_*.backup" -mtime +7 -delete
find "$BACKUP_DIR" -name "logs_*.tar.gz" -mtime +7 -delete

# 顯示備份大小
echo ""
echo "📊 備份統計："
du -sh "$BACKUP_DIR"

echo ""
echo "✅ 備份完成！"
echo "備份位置: $BACKUP_DIR"
