jackz

jackz / Backup galera cluster

Last active 9 hours ago

Like 0

Puts a server into maintenance mode (maxscale), performs full backup, compresses and exits maintenance mode

Revision b2d632d1ddc7b9a139adb9b448ba6d4564e0222c

backup_mariadb_cluster.sh Raw
1#!/bin/bash
2set -e
3
4echo enter maintenance mode
5maxctrl set server server_hs2 maintenance
6mariadb -e "SET GLOBAL wsrep_desync = ON;"
7
8backup_dir=$(mktemp -d)
9backup_output=/tmp/backups
10
11mkdir "$backup_output" || true
12
13cleanup () {
14 echo leaving maintenance mode
15 mariadb -e "SET GLOBAL wsrep_desync = OFF;"
16 maxctrl clear server server_hs2 maintenance
17}
18trap cleanup EXIT
19
20echo running backup to "$backup_dir"
21mariadb-backup --backup --target-dir="$backup_dir"
22
23echo compressing
24cd "$backup_output"
25backup_file="dump-$(date +%Y-%m-%d_%H-%M-%S).tar.gz"
26tar czvf "$backup_file" "."
27
28echo backed up to "$backup_output/$backup_file"
29
30rm -r "$backup_dir"