Initial commit: Robot ökoszisztéma v2.0 - Stabilizált jármű és szerviz robotok
This commit is contained in:
52
backup_manager.sh
Executable file
52
backup_manager.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
# 🛡️ SENTINEL INFRA - TARGETED BACKUP SYSTEM v2.3
|
||||
|
||||
# --- ⚙️ BEÁLLÍTÁSOK (A te környezeti változóid alapján) ---
|
||||
DB_CONTAINER_NAME="3aa4b73d81e8_shared-postgres"
|
||||
DB_USER="kincses" # <--- Beállítva a te POSTGRES_USER értékedre
|
||||
|
||||
PROJECT_ROOT="/opt/docker/dev/service_finder"
|
||||
NAS_ROOT="/mnt/nas/app_data/backups"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
DOM=$(date +%d)
|
||||
DOW=$(date +%u)
|
||||
|
||||
mkdir -p $NAS_ROOT/daily $NAS_ROOT/weekly $NAS_ROOT/monthly
|
||||
|
||||
echo "--- 📦 Célzott mentés indítása: $TIMESTAMP ---"
|
||||
|
||||
# 1. ADATBÁZIS MENTÉS (Streaming - kincses felhasználóval)
|
||||
DB_BACKUP="db_dump_$TIMESTAMP.sql.gz"
|
||||
echo "🐘 Adatbázis dump készítése ($DB_USER felhasználóval)..."
|
||||
docker exec $DB_CONTAINER_NAME pg_dumpall -U $DB_USER | gzip > /tmp/$DB_BACKUP
|
||||
|
||||
# Ellenőrzés: ha 20 bájt, akkor még mindig hiba van
|
||||
SIZE=$(stat -c%s "/tmp/$DB_BACKUP")
|
||||
if [ $SIZE -lt 100 ]; then
|
||||
echo "❌ HIBA: A mentés sikertelen (méret: $SIZE bytes). Ellenőrizd a logokat!"
|
||||
else
|
||||
echo "✅ DB mentés sikeres ($SIZE bytes)."
|
||||
fi
|
||||
|
||||
# 2. KIJELÖLT MAPPÁK MENTÉSE
|
||||
FILE_BACKUP="project_files_$TIMESTAMP.tar.gz"
|
||||
echo "📁 Fájlok tömörítése..."
|
||||
tar -czf /tmp/$FILE_BACKUP -C $PROJECT_ROOT \
|
||||
backend docs frontend logs docker-compose.yml .env 2>/dev/null
|
||||
|
||||
# 3. MÁSOLÁS A NAS-RA (Hibakezeléssel)
|
||||
echo "🚚 Másolás a NAS-ra..."
|
||||
for f in $DB_BACKUP $FILE_BACKUP; do
|
||||
if [ -f "/tmp/$f" ]; then
|
||||
cp "/tmp/$f" "$NAS_ROOT/daily/$f" && rm "/tmp/$f"
|
||||
|
||||
# GFS Rotáció
|
||||
if [ "$DOM" == "01" ]; then cp "$NAS_ROOT/daily/$f" "$NAS_ROOT/monthly/"; fi
|
||||
if [ "$DOW" == "7" ]; then cp "$NAS_ROOT/daily/$f" "$NAS_ROOT/weekly/"; fi
|
||||
fi
|
||||
done
|
||||
|
||||
# 4. TAKARÍTÁS (Régi szemetek törlése)
|
||||
find $NAS_ROOT/daily -type f -mtime +7 -delete 2>/dev/null
|
||||
|
||||
echo "✅ Mentési folyamat sikeresen lezárva."
|
||||
Reference in New Issue
Block a user