#!/bin/sh # Tägliches pg_dump in /backups, 14 Tage Retention. # Läuft im Postgres-Container via System-Cron. set -eu DATE=$(date +%Y%m%d-%H%M%S) OUT="/backups/cockpit-${DATE}.sql.gz" mkdir -p /backups pg_dump -U "${POSTGRES_USER:-cockpit}" -d "${POSTGRES_DB:-cockpit}" -Fc | gzip > "$OUT" echo "Backup written: $OUT" # Retention: lösche Dumps älter als 14 Tage. find /backups -type f -name "cockpit-*.sql.gz" -mtime +14 -delete # Heartbeat an API (logging). if [ -n "${CRON_BEARER_TOKEN:-}" ] && [ -n "${API_URL:-}" ]; then wget -q --header="Authorization: Bearer ${CRON_BEARER_TOKEN}" \ -O- "${API_URL}/internal/cron/pg-dump-backup" || true fi