mysql_host="127.0.0.1"
mysql_port=3306
# 定义增量备份目录
backup_dir="/home/mysql/back_inc"
# 获取上一次的增量备份目录
last_backup_dir=$(ls -1t "$backup_dir" | head -1)
# 如果没有上一次的增量备份目录,那么使用最新的全量备份目录
if [ -z "$last_backup_dir" ]; then
full_back_dir="/home/mysql/back_full/"
last_backup_dir=$(ls -1t "$full_back_dir" | head -1)
backup_type="full_inc"
else
backup_type="inc"
fi
# 获取当前时间戳
timestamp=$(date +'%Y%m%d%H%M%S')
back_dir="${backup_dir}/${timestamp}"
# 创建增量备份目录
mkdir -p "$back_dir"
# 本地打包备份目录
#tar_backup="/opt/${backup_type}_mysqlbackup"
#mkdir -p "$tar_backup"
# 根据备份类型设置备份目录
if [ "$backup_type" = "full_inc" ]; then
backup_basedir="$full_back_dir"
else
backup_basedir="$backup_dir"
fi
# 执行增量备份
xtrabackup --backup --target-dir="${back_dir}" --user="$mysql_user"
--password="$mysql_password" --host="$mysql_host" --port="$mysql_port"
--incremental-basedir="${backup
_basedir}/${last_backup_dir}"
#echo "压缩最新的${backup_type}备份..."
#cd $back_dir
#tar -cvf "${tar_backup}/${timestamp}.tar.gz" $back_dir
#scp ${tar_backup}/${timestamp}.tar.gz $back_ip:$tar_bakup
3.定时任务
0 22 * * 0 sh /root/xtrabackupfull.sh
0 22 * * 1-5 sh /root/xtrabackupinc.sh
50 21 * * 0 rm -rf /home/mysql/back_full/*
50 21 * * 0 rm -rf /home/mysql/back_inc/*
4.全量增量恢复步骤
评论