#!/usr/bin/env bash
# Install outside the live app. Configure a root-owned 600-permission client file.
# [client] host/user/password/port belong in that file, never in this script or Git.
set -euo pipefail
umask 077
defaults='/root/bondvia-backup-client.cnf'
database='REPLACE_WITH_PRODUCTION_DATABASE_NAME'
[[ -f "$defaults" && "$database" != REPLACE_WITH_PRODUCTION_DATABASE_NAME ]] || {
  echo 'Configure the database backup client first.' >&2; exit 1;
}
output=${1:?Pass output .sql.gz path}
dump=$(command -v mariadb-dump || command -v mysqldump)
"$dump" --defaults-extra-file="$defaults" --single-transaction --quick \
  --routines --events --triggers "$database" | gzip > "$output"
gzip -t "$output"
