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