diff options
| author | abraden <C-Albert.Braden@charter.com> | 2020-10-15 19:02:43 +0000 |
|---|---|---|
| committer | Radosław Piliszek <radoslaw.piliszek@gmail.com> | 2020-10-23 19:31:33 +0000 |
| commit | ccfe65b5f7fe437141f342421488c176038fddb0 (patch) | |
| tree | cca433098ce00996af9c242cc6749902afe83cba /docker | |
| parent | 2e094adbbb128c06fdd32fea4c06ef86db1490d6 (diff) | |
| download | kolla-ccfe65b5f7fe437141f342421488c176038fddb0.tar.gz kolla-ccfe65b5f7fe437141f342421488c176038fddb0.zip | |
mariadb: Fixes incremental backup failure when full not created today
backup_full() saves the history name in $BACKUP_DIR/last_full_date.
backup_incremental() attempts to read from $BACKUP_DIR/last_full_date
into $LAST_FULL_DATE. After the read attempt; if $LAST_FULL_DATE is zero
length then $(date +%d-%m-%Y) is used.
Change-Id: I4172b814d5d95ae3debbc1cf3feaeee2e2bec9bd
Closes-bug: 1897948
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/mariadb/mariadb-server/backup.sh | 14 | ||||
| -rw-r--r-- | docker/mariadb/mariadb/backup.sh | 14 |
2 files changed, 22 insertions, 6 deletions
diff --git a/docker/mariadb/mariadb-server/backup.sh b/docker/mariadb/mariadb-server/backup.sh index e56450171..30796fa4e 100644 --- a/docker/mariadb/mariadb-server/backup.sh +++ b/docker/mariadb/mariadb-server/backup.sh @@ -6,23 +6,31 @@ set -o pipefail # Execute a full backup backup_full() { echo "Taking a full backup" + LAST_FULL_DATE=$(date +%d-%m-%Y) mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ - --history=$(date +%d-%m-%Y) | gzip > \ + --history=$LAST_FULL_DATE | gzip > \ $BACKUP_DIR/mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz + echo $LAST_FULL_DATE > $BACKUP_DIR/last_full_date } # Execute an incremental backup backup_incremental() { echo "Taking an incremental backup" + if [ -r $BACKUP_DIR/last_full_date ]; then + LAST_FULL_DATE=$(cat $BACKUP_DIR/last_full_date) + fi + if [ -z $LAST_FULL_DATE ]; then + LAST_FULL_DATE=$(date +%d-%m-%Y) + fi mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ - --incremental-history-name=$(date +%d-%m-%Y) \ - --history=$(date +%d-%m-%Y) | gzip > \ + --incremental-history-name=$LAST_FULL_DATE \ + --history=$LAST_FULL_DATE | gzip > \ $BACKUP_DIR/incremental-$(date +%H)-mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz } diff --git a/docker/mariadb/mariadb/backup.sh b/docker/mariadb/mariadb/backup.sh index e56450171..30796fa4e 100644 --- a/docker/mariadb/mariadb/backup.sh +++ b/docker/mariadb/mariadb/backup.sh @@ -6,23 +6,31 @@ set -o pipefail # Execute a full backup backup_full() { echo "Taking a full backup" + LAST_FULL_DATE=$(date +%d-%m-%Y) mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ - --history=$(date +%d-%m-%Y) | gzip > \ + --history=$LAST_FULL_DATE | gzip > \ $BACKUP_DIR/mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz + echo $LAST_FULL_DATE > $BACKUP_DIR/last_full_date } # Execute an incremental backup backup_incremental() { echo "Taking an incremental backup" + if [ -r $BACKUP_DIR/last_full_date ]; then + LAST_FULL_DATE=$(cat $BACKUP_DIR/last_full_date) + fi + if [ -z $LAST_FULL_DATE ]; then + LAST_FULL_DATE=$(date +%d-%m-%Y) + fi mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ - --incremental-history-name=$(date +%d-%m-%Y) \ - --history=$(date +%d-%m-%Y) | gzip > \ + --incremental-history-name=$LAST_FULL_DATE \ + --history=$LAST_FULL_DATE | gzip > \ $BACKUP_DIR/incremental-$(date +%H)-mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz } |
