#!/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"