first commit
This commit is contained in:
commit
614b98c29c
19
Dockerfile_alpine_pgdump
Normal file
19
Dockerfile_alpine_pgdump
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
LABEL maintainer="development@cooltux.net"
|
||||||
|
|
||||||
|
# PostgreSQL-Client installieren
|
||||||
|
RUN apk update ; \
|
||||||
|
apk add --no-cache postgresql16-client
|
||||||
|
|
||||||
|
# Arbeitsverzeichnis erstellen
|
||||||
|
WORKDIR /backup
|
||||||
|
|
||||||
|
# Entrypoint-Skript hinzufügen
|
||||||
|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||||
|
|
||||||
|
# Skript ausführbar machen
|
||||||
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||||
|
|
||||||
|
# Festlegen des EntryPoints für das Docker-Image
|
||||||
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
27
entrypoint.sh
Normal file
27
entrypoint.sh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/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
|
Loading…
Reference in New Issue
Block a user