添加 config.sh

This commit is contained in:
k
2025-12-22 15:57:55 +00:00
parent 7e288b7ddc
commit 9629054566

105
config.sh Normal file
View File

@@ -0,0 +1,105 @@
#!/bin/bash
# ============================================================================
# MySQL 8.0.24 备份恢复工具 - 配置文件
# ============================================================================
# 作者: AI Assistant
# 版本: 1.0.0
# 说明: 此文件包含所有备份恢复脚本的公共配置
# ============================================================================
# ----------------------------------------------------------------------------
# MySQL 连接配置
# ----------------------------------------------------------------------------
# MySQL 服务器地址
MYSQL_HOST="localhost"
# MySQL 端口
MYSQL_PORT="3306"
# MySQL 用户名 (需要有备份权限: RELOAD, LOCK TABLES, REPLICATION CLIENT)
MYSQL_USER="root"
# MySQL 密码 (生产环境建议使用 mysql_config_editor 或环境变量)
MYSQL_PASSWORD=""
# MySQL 数据目录 (用于物理备份)
MYSQL_DATA_DIR="/var/lib/mysql"
# ----------------------------------------------------------------------------
# 备份存储配置
# ----------------------------------------------------------------------------
# 备份根目录
BACKUP_ROOT_DIR="/data/mysql_backup"
# 全量备份目录
FULL_BACKUP_DIR="${BACKUP_ROOT_DIR}/full"
# 增量备份目录
INCREMENTAL_BACKUP_DIR="${BACKUP_ROOT_DIR}/incremental"
# 恢复临时目录
RESTORE_TMP_DIR="${BACKUP_ROOT_DIR}/restore_tmp"
# 日志目录
LOG_DIR="${BACKUP_ROOT_DIR}/logs"
# ----------------------------------------------------------------------------
# 备份保留策略
# ----------------------------------------------------------------------------
# 全量备份保留天数
FULL_BACKUP_RETENTION_DAYS=7
# 增量备份保留天数
INCREMENTAL_BACKUP_RETENTION_DAYS=3
# ----------------------------------------------------------------------------
# mysqlbackup/xtrabackup 工具配置 (使用 MySQL Enterprise Backup 或 Percona XtraBackup)
# 本脚本使用 mysqldump 进行逻辑备份,同时支持基于 binlog 的增量备份
# ----------------------------------------------------------------------------
# mysqldump 路径
MYSQLDUMP_PATH="/usr/bin/mysqldump"
# mysql 客户端路径
MYSQL_PATH="/usr/bin/mysql"
# mysqlbinlog 路径
MYSQLBINLOG_PATH="/usr/bin/mysqlbinlog"
# ----------------------------------------------------------------------------
# 通知配置 (可选)
# ----------------------------------------------------------------------------
# 是否启用邮件通知
ENABLE_EMAIL_NOTIFICATION=false
# 通知邮箱地址
NOTIFICATION_EMAIL="admin@example.com"
# ----------------------------------------------------------------------------
# 并行处理配置
# ----------------------------------------------------------------------------
# 压缩线程数
COMPRESS_THREADS=4
# 备份时使用的压缩工具 (gzip, pigz, lz4)
COMPRESS_TOOL="gzip"
# ----------------------------------------------------------------------------
# 其他配置
# ----------------------------------------------------------------------------
# 备份文件前缀
BACKUP_PREFIX="mysql_backup"
# 时间戳格式
TIMESTAMP_FORMAT="%Y%m%d_%H%M%S"
# 是否启用详细日志
VERBOSE=true
# ----------------------------------------------------------------------------
# 要备份的数据库列表 (留空表示备份所有数据库)
# 格式: "db1 db2 db3" 或留空 ""
# ----------------------------------------------------------------------------
DATABASES_TO_BACKUP=""
# 要排除的数据库 (系统数据库默认排除)
EXCLUDE_DATABASES="information_schema performance_schema sys"