mysqlbackup全备增备恢复

论坛 期权论坛 期权     
选择匿名的用户   2021-6-2 17:41   7238   0

1. 全备(业务跑的时候热备)

mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_`date +%Y_%m%d --date="-1 day"` --user=root -p123 --read-threads=3 --process-threads=8 --write-threads=3 --compress backup

恢复:apply-log不会影响数据目录下的数据;但是copy-back时,若数据目录下有数据,要加force替代现有的数据,否则报错

mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 --uncompress apply-log

mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 copy-back --force

2. 全备或上一个增备的基础上增备(热备)

mysqlbackup --defaults-file=/etc/my.cnf --incremental --incremental-backup-dir=/backup/mysqlbackup/incremental_`date +%Y_%m%d` --incremental-base=dir:/backup/mysqlbackup/backup_`date +%Y_%m%d --date="-1 day"` --user=root --password=123 backup

恢复:apply-log和apply-incremental-backup不会影响数据目录下的数据;但是copy-back时,若数据目录下有数据,要加force替代现有的数据,否则报错

mysqlbackup --backup-dir=/backup/mysqlbackup/backup_2020_0414 --incremental-backup-dir=/backup/mysqlbackup/incremental_2020_0415 --uncompress apply-log

mysqlbackup --backup-dir=/backup/mysqlbackup/backup_2020_0414 --incremental-backup-dir=/backup/mysqlbackup/incremental_2020_0415 apply-incremental-backup

mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 copy-back --force

3. 备份脚本

全备脚本:

root@mgr3[/backup/scripts]#cat mysqlbackup_full.sh

DT=`date +"%Y%m%d"`

target_dir=/backup/mysqlbackup

if [ ! -d ${target_dir} ]; then

mkdir -p ${target_dir}

fi

if [ -d ${target_dir}/backup_${DT} ];

then

echo "backup_dir exists,and will be backed ">>${target_dir}/${DT}_err.log

mv ${target_dir}/backup_${DT} ${target_dir}/backup_${DT}_bk

fi

mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=${target_dir}/backup_${DT} --user=root -p123 --read-threads=3 --process-threads=8 --write-threads=3 --compress backup >>${target_dir}/backup_${DT}.log 2>&1

find ${target_dir} -type d -mtime +21 -exec rm -rf {} \;

增备脚本:

root@mgr3[/backup/scripts]#cat mysqlbackup_inc.sh

DT=`date +"%Y%m%d"`

YD=`date +%Y%m%d --date="-1 day"`

target_dir=/backup/mysqlbackup

if [ ! -d ${target_dir} ]; then

mkdir -p ${target_dir}

fi

if [ -d ${target_dir}/backup_${DT} ];

then

echo "backup_dir exists,and will be backed ">>${target_dir}/backup_${DT}.err

mv ${target_dir}/backup_${DT} ${target_dir}/backup_${DT}_bk

fi

mysqlbackup --defaults-file=/etc/my.cnf --incremental --incremental-backup-dir=${target_dir}/backup_${DT} --incremental-base=dir:${target_dir}/backup_${YD} --user=root --password=123 backup >>${target_dir}/backup_${DT}.log 2>&

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP