#!/bin/bash
set -e

echo enter maintenance mode
maxctrl set server server_hs2 maintenance
mariadb -e "SET GLOBAL wsrep_desync = ON;"

backup_dir=$(mktemp -d)
backup_output=/tmp/backups

mkdir "$backup_output" || true

cleanup () {
  echo leaving maintenance mode
  mariadb -e "SET GLOBAL wsrep_desync = OFF;"
  maxctrl clear server server_hs2 maintenance
}
trap cleanup EXIT

echo running backup to "$backup_dir"
mariadb-backup --backup --target-dir="$backup_dir"

echo compressing
cd "$backup_output"
backup_file="dump-$(date +%Y-%m-%d_%H-%M-%S).tar.gz"
tar czvf "$backup_file" "." 

echo backed up to "$backup_output/$backup_file"

rm -r "$backup_dir"