This commit is contained in:
Jun-te Kim 2025-12-14 01:45:23 +00:00
parent c8573acbc1
commit adf255e574

View file

@ -12,6 +12,7 @@ PG_POD_SELECTOR="app=postgres"
K8S_STORAGE_ROOT="/k8s_storage" K8S_STORAGE_ROOT="/k8s_storage"
# NEVER touch Postgres raw data
TAR_EXCLUDES=( TAR_EXCLUDES=(
"$K8S_STORAGE_ROOT/postgres" "$K8S_STORAGE_ROOT/postgres"
) )
@ -25,7 +26,7 @@ mkdir -p "$BACKUP_DIR"
echo "=== Backup started at $(date -u) ===" echo "=== Backup started at $(date -u) ==="
# ----------------------------- # -----------------------------
# Postgres pg_dump # Postgres pg_dump (SAFE)
# ----------------------------- # -----------------------------
if [[ "$PG_ENABLED" == "true" ]]; then if [[ "$PG_ENABLED" == "true" ]]; then
echo "=== Postgres pg_dump enabled ===" echo "=== Postgres pg_dump enabled ==="
@ -59,12 +60,15 @@ if [[ "$PG_ENABLED" == "true" ]]; then
fi fi
# ----------------------------- # -----------------------------
# Normalise permissions (IMPORTANT) # Normalise permissions (EXCLUDING POSTGRES)
# ----------------------------- # -----------------------------
echo "=== Normalising permissions on $K8S_STORAGE_ROOT ===" echo "=== Normalising permissions (excluding Postgres) ==="
# Ensure backup user can read everything, without breaking apps sudo find "$K8S_STORAGE_ROOT" \
sudo chmod -R a+rX "$K8S_STORAGE_ROOT" || true -mindepth 1 \
-maxdepth 1 \
! -name postgres \
-exec chmod -R a+rX {} \; || true
# ----------------------------- # -----------------------------
# Build tar exclude args # Build tar exclude args
@ -75,7 +79,7 @@ for path in "${TAR_EXCLUDES[@]}"; do
done done
# ----------------------------- # -----------------------------
# Archive k8s storage (safe) # Archive k8s storage (SAFE)
# ----------------------------- # -----------------------------
echo "=== Archiving k8s storage ===" echo "=== Archiving k8s storage ==="