mysql Xtrabackup 数据备份


国内源安装

yum install https://mirrors.tuna.tsinghua.edu.cn/percona/yum/percona-release-latest.noarch.rpm

手动备份

xtrabackup –backup –target-dir=/var/mysql-backup –user=root –password=password

计划任务处理文件

#!/bin/bash

# 配置变量
BACKUP_DIR="/var/mysql-backup-corn"
DATE=$(date +%Y%m%d_%H%M%S)
MYSQL_USER="root"
MYSQL_PASSWORD="密码"
XTRABACKUP="/usr/bin/xtrabackup"
FULL_BACKUP_DIR="$BACKUP_DIR/full"
INCREMENTAL_BACKUP_DIR="$BACKUP_DIR/incremental/$DATE"

# 创建备份目录
mkdir -p "$BACKUP_DIR"
mkdir -p "$FULL_BACKUP_DIR"
mkdir -p "$INCREMENTAL_BACKUP_DIR"

# 执行全量备份
if [ ! -d "$FULL_BACKUP_DIR/full_backup" ]; then
    echo "Performing full backup..."
    $XTRABACKUP --user=$MYSQL_USER --password=$MYSQL_PASSWORD --backup --target-dir="$FULL_BACKUP_DIR/full_backup"
else
    echo "Performing incremental backup..."
    $XTRABACKUP --user=$MYSQL_USER --password=$MYSQL_PASSWORD --backup --target-dir="$INCREMENTAL_BACKUP_DIR" --incremental-basedir="$FULL_BACKUP_DIR/full_backup"
fi

echo "Backup completed at $DATE"

# 清理旧备份,保留最近7天的备份
find "$BACKUP_DIR" -type d -mtime +7 -exec rm -rf {} \;

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注