Initial commit: Robot ökoszisztéma v2.0 - Stabilizált jármű és szerviz robotok
This commit is contained in:
52
backup_manager.sh.old
Executable file
52
backup_manager.sh.old
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
# 🛡️ DOCKER INFRA - GFS BACKUP SYSTEM (Ubuntu 24.04 Optimized)
|
||||
|
||||
# ÚJ ELÉRÉSI UTALOK
|
||||
PROJECT_ROOT="/opt/docker"
|
||||
NAS_ROOT="/mnt/nas/app_data/backups"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
DOM=$(date +%d)
|
||||
DOW=$(date +%u)
|
||||
|
||||
# Szükséges mappák biztosítása a NAS-on
|
||||
mkdir -p $NAS_ROOT/daily $NAS_ROOT/weekly $NAS_ROOT/monthly
|
||||
|
||||
echo "--- 📦 Mentés indítása: $TIMESTAMP ---"
|
||||
|
||||
# 1. ADATBÁZIS MENTÉS (Konzisztens SQL Dump)
|
||||
# A shared-postgres konténerből kimentjük az összes adatbázist
|
||||
docker exec shared-postgres pg_dumpall -c -U postgres > $PROJECT_ROOT/full_db_dump.sql
|
||||
|
||||
# 2. TÖMÖRÍTÉS ÉS KONFIGURÁCIÓK MENTÉSE
|
||||
# Kizárjuk a nyers adatbázis fájlokat és a felesleges node mappákat
|
||||
BACKUP_FILE="infra_full_$TIMESTAMP.tar.gz"
|
||||
|
||||
tar -czf /tmp/$BACKUP_FILE -C $PROJECT_ROOT \
|
||||
--exclude='infra/postgres/data' \
|
||||
--exclude='node_modules' \
|
||||
--exclude='*.log' \
|
||||
.
|
||||
|
||||
# 3. GFS ROTÁCIÓS MÁSOLÁS
|
||||
if [ "$DOM" == "01" ]; then
|
||||
echo "Havi mentés rögzítése..."
|
||||
cp /tmp/$BACKUP_FILE $NAS_ROOT/monthly/
|
||||
fi
|
||||
|
||||
if [ "$DOW" == "7" ]; then
|
||||
echo "Heti mentés rögzítése..."
|
||||
cp /tmp/$BACKUP_FILE $NAS_ROOT/weekly/
|
||||
fi
|
||||
|
||||
# Napi mentés
|
||||
mv /tmp/$BACKUP_FILE $NAS_ROOT/daily/
|
||||
|
||||
# 4. AUTOMATIKUS TAKARÍTÁS (30 napos heti, 1 éves havi mentés megőrzése)
|
||||
find $NAS_ROOT/daily -type f -mtime +7 -delete
|
||||
find $NAS_ROOT/weekly -type f -mtime +30 -delete
|
||||
find $NAS_ROOT/monthly -type f -mtime +365 -delete
|
||||
|
||||
# 5. IDEIGLENES SQL DUMP TÖRLÉSE
|
||||
rm $PROJECT_ROOT/full_db_dump.sql
|
||||
|
||||
echo "✅ Mentés sikeresen lezárva: $NAS_ROOT/daily/$BACKUP_FILE"
|
||||
Reference in New Issue
Block a user