- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml) - 部署模式: rsync Python 檔案至 188 → docker restart (volume mount) - Dockerfile/requirements 變動時自動重建 Docker image - 部署通知: Telegram (開始/成功/失敗) - 健康檢查: https://mo.wooo.work/health (最多 5 次重試) - 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
53
deploy_scripts/backup.sh
Normal file
53
deploy_scripts/backup.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user