#!/bin/bash
# Skrip backup yang bisa dipercaya memeriksa exit code setiap langkahnya.
pg_isready -q || { echo "server tidak siap"; exit 1; }

# pg_dump yang sukses dan yang gagal dibedakan lewat exit code.
pg_dump "$PGDATABASE" > /dev/null
echo "exit (database ada)     : $?"

pg_dump --dbname db_tidak_ada > /dev/null 2>&1
echo "exit (database tak ada) : $?"

# Pola untuk skrip cron: gagal = berhenti, jangan lanjut.
if ! pg_dump "$PGDATABASE" -f backup_harian.sql; then
  echo "backup GAGAL - jangan hapus backup lama"
  exit 1
fi
echo "backup OK - aman mengganti backup lama"
