#!/bin/bash
SERVER=server_hs2
BACKUP_OUTPUT=/tmp/backups
set -e

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

backup_dir=$(mktemp -d)

mkdir "$backup_output" || true

cleanup () {
  echo leaving maintenance mode
  mariadb -e "SET GLOBAL wsrep_desync = OFF;"
  maxctrl clear server "$SERVER" 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"