#!/bin/sh # Überprüfen, ob alle erforderlichen Umgebungsvariablen gesetzt sind if [ -z "$PGHOST" ] || [ -z "$PGUSER" ] || [ -z "$PGDATABASE" ] || [ -z "$PGPASSWORD" ]; then echo "Fehlende Umgebungsvariablen: PGHOST, PGUSER, PGDATABASE oder PGPASSWORD" exit 1 fi # Erstelle die .pgpass-Datei im Home-Verzeichnis des Containers echo "$PGHOST:5432:$PGDATABASE:$PGUSER:$PGPASSWORD" > ~/.pgpass # Setze die korrekten Berechtigungen für die .pgpass-Datei (nur für den Benutzer lesbar) chmod 600 ~/.pgpass # Optional: Standardwert für den Dateinamen der Sicherung BACKUP_FILE=${BACKUP_FILE:-"/backup/db_backup_$(date +%Y%m%d_%H%M%S).sql"} # Führe den pg_dump-Befehl aus (pg_dump wird automatisch die .pgpass-Datei verwenden) pg_dump -h "$PGHOST" -U "$PGUSER" -d "$PGDATABASE" -F c -f "$BACKUP_FILE" # Prüfe, ob der Befehl erfolgreich war if [ $? -eq 0 ]; then echo "Datenbank erfolgreich gesichert: $BACKUP_FILE" else echo "Fehler bei der Sicherung der Datenbank" exit 1 fi