#!/bin/bash set -euo pipefail source /home/nico/backup/lib.sh source /home/nico/docker-setup/mongodb/.env # ================================ # Einstellungen # ================================ CONTAINER="mongodb" # Name deines MongoDB-Docker-Containers DB_USER="${MONGO_ROOT_USER}" # MongoDB Root-User (aus .env) DB_PASS="${MONGO_ROOT_PASSWORD}" # MongoDB Root-Passwort (aus .env) BACKUP_DIR="/home/nico/backup/tmp/mongodb_backups" # Temporärer Backup-Pfad auf dem Server REMOTE="onedrive-tdhaider:/IONOS/Backups/mongodb" # Ziel auf OneDrive DATE=$(date +%F_%H-%M-%S) FILE="$BACKUP_DIR/mongodb_all_${DATE}.archive.gz" # ================================ # Backup-Ordner vorbereiten # ================================ mkdir -p "$BACKUP_DIR" # ================================ # Backup aller Datenbanken # ================================ log "📦 Backup starte für alle MongoDB-Datenbanken ..." docker exec -t "$CONTAINER" mongodump \ --username "$DB_USER" \ --password "$DB_PASS" \ --authenticationDatabase admin \ --archive \ | gzip > "$FILE" \ || fail "Fehler beim MongoDB-Backup" # ================================ # Upload zu OneDrive # ================================ log "☁️ Lade Backup zu OneDrive hoch ..." upload "$FILE" "$REMOTE" log "✅ Upload abgeschlossen!" cleanup_keep_latest "$REMOTE" 30 log "✅ Cleanup abgeschlossen!" # ================================ # Lokale Backups aufräumen # ================================ [[ -d "$BACKUP_DIR" ]] && rm -rf "$BACKUP_DIR" log "🧹 Lokale temporäre Backups gelöscht." log "🏁 MongoDB-Backup abgeschlossen!"