summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-11-07 09:48:39 +0000
committerGerrit Code Review <review@openstack.org>2019-11-07 09:48:39 +0000
commit2692fec709375176f1829d7b0036ff8cb81d890a (patch)
treeeaf08713369687a7a30b5947526569abeed8cf79 /docker
parentc17812747de00409bc174870ec85477fa28fb4e9 (diff)
parent25890a485b20f9530f769c23af841d6a50593b37 (diff)
downloadkolla-2692fec709375176f1829d7b0036ff8cb81d890a.tar.gz
kolla-2692fec709375176f1829d7b0036ff8cb81d890a.zip
Merge "Stein: support mariabackup for backups" into stable/stein
Diffstat (limited to 'docker')
-rw-r--r--docker/mariadb/Dockerfile.j23
-rw-r--r--docker/mariadb/backup.sh48
2 files changed, 51 insertions, 0 deletions
diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2
index 4e2f57f48..1ee875222 100644
--- a/docker/mariadb/Dockerfile.j2
+++ b/docker/mariadb/Dockerfile.j2
@@ -52,6 +52,9 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start \
RUN mkdir -p /var/run/mysqld && chown mysql /var/run/mysqld && chmod 755 /var/run/mysqld
{% endif %}
+COPY backup.sh /usr/local/bin/kolla_mariadb_backup.sh
+RUN chmod 755 /usr/local/bin/kolla_mariadb_backup.sh
+
{% if use_dumb_init %}
{% block mariadb_entrypoint %}
# NOTE(mgoddard): Override the dumb-init arguments to avoid passing
diff --git a/docker/mariadb/backup.sh b/docker/mariadb/backup.sh
new file mode 100644
index 000000000..e56450171
--- /dev/null
+++ b/docker/mariadb/backup.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+set -eu
+set -o pipefail
+
+# Execute a full backup
+backup_full() {
+ echo "Taking a full backup"
+ mariabackup \
+ --defaults-file=/etc/mysql/my.cnf \
+ --backup \
+ --stream=xbstream \
+ --history=$(date +%d-%m-%Y) | gzip > \
+ $BACKUP_DIR/mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz
+}
+
+# Execute an incremental backup
+backup_incremental() {
+ echo "Taking an incremental backup"
+ mariabackup \
+ --defaults-file=/etc/mysql/my.cnf \
+ --backup \
+ --stream=xbstream \
+ --incremental-history-name=$(date +%d-%m-%Y) \
+ --history=$(date +%d-%m-%Y) | gzip > \
+ $BACKUP_DIR/incremental-$(date +%H)-mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz
+}
+
+BACKUP_DIR=/backup/
+cd $BACKUP_DIR
+
+if [ -n $BACKUP_TYPE ]; then
+ case $BACKUP_TYPE in
+ "full")
+ backup_full
+ ;;
+ "incremental")
+ backup_incremental
+ ;;
+ *)
+ echo "Only full or incremental options are supported."
+ exit 1
+ ;;
+ esac
+else
+ echo "You need to specify either full or incremental backup options."
+ exit 1
+fi