xtrabackup使用-官方脚本

1、每天定时全量备份脚本

#!/bin/bash

#  0 0 * * * /path/to/daily_full_backup.sh

# Set server details (replace with your actual values)
SERVER_HOST="127.0.0.1" # MySQL地址
SERVER_USER="root" # MySQL用户
SERVER_PASSWORD="Password@2025" # MySQL密码
DATA_DIR="/var/lib/mysql" # MySQL数据存储路径
BACKUP_DIR="/backups/mysql/full" # 备份增量数据存储路径

# Get current date for filename
TODAY=$(date +%Y%m%d%H%M%S) # 年月日时分秒
FULL_BACKUP_FILENAME="${BACKUP_DIR}/${TODAY}" # 每天备份增量数据存储路径

mkdir -p ${FULL_BACKUP_FILENAME}

# Run xtrabackup with full backup command
xtrabackup --backup \
  --target-dir="${FULL_BACKUP_FILENAME}" \
  --datadir="${DATA_DIR}" \
  --user="${SERVER_USER}" \
  --password="${SERVER_PASSWORD}"

echo "Daily full backup completed at $(date)"

2、每小时差异备份备份脚本

差异备份就是备份自上次完全备份以来所有发生变化的数据。

#!/bin/bash

#  0 * * * * /path/to/your/hourly_incremental_backup.sh

# Set server details (same as daily script)
SERVER_HOST="127.0.0.1" # MySQL地址
SERVER_USER="root" # MySQL用户
SERVER_PASSWORD="Password@2025" # MySQL密码
DATA_DIR="/var/lib/mysql" # MySQL数据存储路径
BACKUP_DIR="/backups/mysql/incr" # 增量数据保存路径

# Get current date and hour for filename
TODAY=$(date +%Y-%m-%d) 
HOUR=$(date +%H%M%S) # Get current hour (00-23)

# TODAY和HOUR可以合并使用一个变量:$(date +%Y%m%d%H%M%S)可以使用这个,年月日时分秒

INCR_BACKUP_FILENAME="${BACKUP_DIR}/${TODAY}_${HOUR}" # 每小时增量数据保存路径

# Set the base directory for incremental backups (point to the latest full backup)
BASE_DIR="/backups/mysql/full/$(ls -tr /backups/mysql/full | tail -n 1)" # 获取最新的全量数据保存信息

mkdir -p ${INCR_BACKUP_FILENAME}

# Run xtrabackup with incremental backup command
xtrabackup --backup \
  --incremental-basedir="${BASE_DIR}" \
  --target-dir="${INCR_BACKUP_FILENAME}" \
  --user="${SERVER_USER}" \
  --password="${SERVER_PASSWORD}"

echo "Hourly incremental backup completed at $(date)"
posted @   哈喽哈喽111111  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2022-01-13 现有rabbitmq集群添加新节点,移除旧节点(可以作为rabbitmq集群迁移使用)
2022-01-13 使用docker-compose.yml安装rabbitmq集群
2022-01-13 MySQL配置不当导致Sonarqube出错的一次经历:Packet for query is too large (16990374 > 13421568)
2021-01-13 告警图片-搞笑的
2021-01-13 rsync实现windows和windows之间的数据同步
2021-01-13 《对财富说是》创造由内而外的富足
2021-01-13 Logstash:为 Logstash 日志启动索引生命周期管理
点击右上角即可分享
微信分享提示