Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

POLICY-3000 - Getting issue details... STATUS


Recover from corruption of policy database. [Possibly a bug in mariadb: MDEV-23119]

High Level Design

A Kubernetes cron will run a docker container once every 24 hours.

The docker container will call a shell script to do the backup.

The backups will be stored remotely.

Dockerfile

Shell script

db_backup.sh
#!/bin/sh

LOG=$(basename $0 .sh)_$(date +%F-%T).log
LOG_DIR=/c/mariadb/logs
BACKUP_DIR1=/c/mariadb/backup1
BACKUP_DIR2=/c/mariadb/backup2
MARIADB_BACKUP_EXE_DIR="/C/Program Files/MariaDB 10.5/bin"
USER=policy
PWD=P01icY
OK_MSG="completed OK!"

# if the backup directory doesn't exist, create it
if [ ! -d $BACKUP_DIR1 ]; then
        mkdir -p $BACKUP_DIR1
fi

# if the backup directory doesn't exist, create it
if [ ! -d $BACKUP_DIR2 ]; then
        mkdir -p $BACKUP_DIR2
fi

# Find the backup directory with the oldest modification date
BACKUP_DIR=`ls -td $BACKUP_DIR1/ $BACKUP_DIR2/ | tail -1 | awk -F' ' '{print $NF}' | sed 's/.$//'`

# if the log directory doesn't exist, create it
if [ ! -d $LOG_DIR ]; then
        mkdir -p $LOG_DIR
fi

echo "Backup Started"
echo "Backing up to $BACKUP_DIR"

# check if directory is empty, if not delete it's contents
if [ "$(ls -A $BACKUP_DIR)" ]; then
     rm -rf $BACKUP_DIR/*
fi

# redirect output to log file
{
"$MARIADB_BACKUP_EXE_DIR"/mariabackup --backup --target-dir=$BACKUP_DIR --user=$USER --password=$PWD
} >$LOG_DIR/$LOG 2>&1
echo >&2 "Backup Complete"

# check the log for the "completed OK!" message
grep -q "$OK_MSG" $LOG_DIR/$LOG
if [ $? -eq 0 ]; then
        exit 0
else
        exit 1
fi

Backing Up and Restoring Databases

mariabackup is an open source tool for doing back ups on MariaDB.

Incremental Backup and Restore with Mariabackup

Back up databases using Kubernetes CronJobs

Replication as a Backup Solution

Notes

  • No labels