diff --git a/docker/mariadb/mariadb-server/backup.sh b/docker/mariadb/mariadb-server/backup.sh index e56450171f..30796fa4ec 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 e56450171f..30796fa4ec 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 } diff --git a/releasenotes/notes/bug-1897948-a0eb6d890eea8061.yaml b/releasenotes/notes/bug-1897948-a0eb6d890eea8061.yaml new file mode 100644 index 0000000000..3531302045 --- /dev/null +++ b/releasenotes/notes/bug-1897948-a0eb6d890eea8061.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes MariaDB incremental backup failure when full + backup was not created the same day. + `LP#1897948 `__