# autoxtrabackup **Repository Path**: lu_shuan/autoxtrabackup ## Basic Information - **Project Name**: autoxtrabackup - **Description**: MySQL v5.7 数据库增量备份脚本 - **Primary Language**: Shell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-04 - **Last Updated**: 2025-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 前言 由于[Percona innobackupex 官网](https://www.percona.com/mysql/software/percona-xtrabackup)上对应的[github 地址](https://github.com/gstorme/autoxtrabackup/tree/master)备份脚本适用的是MySQL v5.7之前的脚步,这里做了对应的更改,在CentOS 7.x 上做了验证,备份的数据库为 MySQL v5.7,这里且做分享,如果想要了解更多关于XtraBackup 的介绍可以参考[XtraDB Backup(Percona XtraBackup)备份MySQL详细介绍](https://blog.dazhongma.top/xtrabackup/) ### **autoxtrabackup** #### **自动化的 MySQL 定时备份工具(基于 Percona innobackupex / xtrabackup)** 该脚本使用 Percona 的 `innobackupex`(包含在 `percona-xtrabackup` 中)来自动创建 **全量备份** 和 **增量备份**,支持可配置的备份保留策略、压缩功能,并可选择发送邮件通知。 --- ### **环境要求** ✅ **支持的 MySQL 发行版**:MySQL、Percona Server、MariaDB ✅ **支持的 Linux 发行版**:Debian、Ubuntu、CentOS、RedHat ✅ **依赖项**:`percona-xtrabackup`(下载地址:[Percona 官网](http://www.percona.com/software/percona-xtrabackup)) 📌 **测试环境**:CentOS 7.x + MySQL 5.7 --- ### **安装步骤** 1. **复制配置文件** - 将 `autoxtrabackup.config` 复制到 `/etc/default/autoxtrabackup` 并修改配置(推荐,但非必须,也可直接在脚本中设置)。 2. **复制脚本** - 将 `autoxtrabackup.sh` 复制到 `/usr/local/bin/autoxtrabackup`。 3. **设置可执行权限** - 运行 `chmod +x /usr/local/bin/autoxtrabackup`。 4. **配置定时任务(cronjob)** ⚠ **注意**:该脚本无标准输出,日志请查看 `/tmp/backuplog`。 --- ### **使用示例** #### **1. 每小时增量备份 + 每日全量备份(保留 7 天)** - 配置: - `hoursBeforeFull = 24` - `keepDays = 7` - 定时任务: ```cron 0 * * * * /usr/local/bin/autoxtrabackup ``` #### **2. 每周日全量备份 + 其他天增量备份(保留 31 天)** - 配置: - `hoursBeforeFull = 168`(7 天 × 24 小时) - `keepDays = 31` - 定时任务(假设周日 23:00 执行): ```cron 0 23 * * * /usr/local/bin/autoxtrabackup ``` #### **3. 仅每日全量备份(保留 7 天)** - 配置: - `hoursBeforeFull = 1`(强制每次执行全量备份) - `keepDays = 7` - 定时任务(每天 23:00 执行): ```cron 0 23 * * * /usr/local/bin/autoxtrabackup ``` --- ### **注意事项** 🔹 **增量备份仅适用于 XtraDB / InnoDB 表**,MyISAM 表每次都会生成全量备份。 --- ### **恢复备份** - 快速参考:运行 `./autoxtrabackup -h` 查看恢复帮助。 - 详细指南:参考 [Percona 官方文档](http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/innobackupex_script.html)。 --- 📌 **提示**:建议首次使用前在测试环境验证备份和恢复流程!