summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/mariadb/backup.sh14
-rw-r--r--releasenotes/notes/bug-1897948-a0eb6d890eea8061.yaml6
2 files changed, 17 insertions, 3 deletions
diff --git a/docker/mariadb/backup.sh b/docker/mariadb/backup.sh
index e56450171..30796fa4e 100644
--- a/docker/mariadb/backup.sh
+++ b/docker/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 000000000..353130204
--- /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 <https://launchpad.net/bugs/1897948>`__