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)"
分类:
XtraBackup
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享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 日志启动索引生命周期管理