MySQL生产级全备+增备备份脚本

脚本内容如下:Xtrabackup.sh #!/bin/bash ##备份策略: ##周日(7): 全备 ##周一 ~ 周六(1-6): 增量备份 source /etc/profile ulimit -HSn 102400 ## ##========== global var ============ ## #如果一台服务器上有多个MySQL,可以使用 BAK_DIR_ROOT进行备份路径的区别 #可增加端口作为区分,例如 /opt/backup/mysqk/3306 BAK_DIR_ROOT="/data/mysql_backup" #默认周日进行全备 (1 - 7), 1 是周一,7是周日 FULL_BAK_DAY_OF_WEEK=7 #备份文件保留周期,默认保留35天 (4-5周) HOLD_DAYS=35 MYSQL_USERNAME="root" MYSQL_PASSWORD="root" MYSQL_HOST="10.0.0.1" MYSQL_CNF="/etc/my.cnf" MYSQL_MULTI_GROUP="--socket=/data/mysql/mysql.sock" #如果使用多实例,比如通过ecloud的方式下发安装,默认使用多实例 #MYSQL_MULTI_GROUP="--defaults-group=mysqld3307 --socket=/tmp/mysql3307.sock" CURRENT_WEEK_OF_YEAR=$(date +%U) CURRENT_DAY_OF_WEEK=$(date +%u) CURRENT_DATE=$(date +%F) CURRENT_TIME=$(date +%H-%M-%S) CURRENT_DATETIME="${CURRENT_DATE}_${CURRENT_TIME}" BAK_WEEK_DIR="${BAK_DIR_ROOT}/WEEK_${CURRENT_WEEK_OF_YEAR}" BAK_FULL_DIR="${BAK_WEEK_DIR}/FULL" BAK_LOG="${BAK_WEEK_DIR}/backup.log" ## ##========== function ============= ## function clean_backup() { find ${BAK_DIR_ROOT} -mtime +${HOLD_DAYS} -prune -exec rm -rf {} \; } function write_start_log() { if [[ !...

2022-04-13 · 2 分钟