diff options
| author | Zuul <zuul@review.opendev.org> | 2019-11-07 09:48:39 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2019-11-07 09:48:39 +0000 |
| commit | 2692fec709375176f1829d7b0036ff8cb81d890a (patch) | |
| tree | eaf08713369687a7a30b5947526569abeed8cf79 /docker | |
| parent | c17812747de00409bc174870ec85477fa28fb4e9 (diff) | |
| parent | 25890a485b20f9530f769c23af841d6a50593b37 (diff) | |
| download | kolla-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.j2 | 3 | ||||
| -rw-r--r-- | docker/mariadb/backup.sh | 48 |
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 |
