#!/usr/bin/env bash
# Base backup format tar dengan kompresi gzip.
set -euo pipefail

TUJUAN=/tmp/pgtutor-bb/tar

rm -rf "$TUJUAN"

# -Ft : format tar, hasil berupa file arsip
# -z  : kompresi gzip untuk setiap arsip
# -Xs : WAL dikemas sebagai arsip terpisah pg_wal.tar.gz
pg_basebackup -D "$TUJUAN" -Ft -z -Xs --checkpoint=fast --no-password

# Format tar selalu menghasilkan kombinasi file ini.
ls -1 "$TUJUAN"

# Pastikan ketiga arsip benar-benar berisi (ukuran lebih dari nol).
for berkas in backup_manifest base.tar.gz pg_wal.tar.gz; do
    if [ -s "$TUJUAN/$berkas" ]; then
        echo "$berkas: ADA"
    else
        echo "$berkas: HILANG ATAU KOSONG"
        exit 1
    fi
done

rm -rf "$TUJUAN"
