【MySQL】Xtrabackup备份及恢复脚本
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,简介:此备份脚本的策略是每周日和周三进去全备 其余每天增量备份。# 备份脚本XtraBackup.sh:#!/bin/bash# filename : XtraBackup.sh# Auth
千家信息网最后更新 2025年11月07日【MySQL】Xtrabackup备份及恢复脚本
简介:
此备份脚本的策略是每周日和周三进去全备 其余每天增量备份。
# 备份脚本XtraBackup.sh:#!/bin/bash# filename : XtraBackup.sh# Author : wangday=`date +%w`dt=`date +%Y%m%d`lastday=`date -d '1 days ago' +%Y%m%d`user=rootpwd='xxxxx'log=backuplog.`date +%Y%m%d`case $day in 0) # Sunday Full backup find /backup/ -name "xtra_*" -mtime +6 -exec rm -rf {} \; innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp /backup/xtra_base_$dt > /tmp/$log 2>&1 ;; 1) # Monday Relatively Sunday's incremental backup innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /backup/xtra_inc_$dt --incremental-basedir=/backup/xtra_base_$lastday > /tmp/$log 2>&1 ;; 2) # Tuesday Compared with Monday's incremental backup innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /backup/xtra_inc_$dt --incremental-basedir=/backup/xtra_inc_$lastday > /tmp/$log 2>&1 ;; 3) # Wednesday Full backup find /backup/ -name "xtra_*" -mtime +6 -exec rm -rf {} \; innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp /backup/xtra_base_$dt > /tmp/$log 2>&1 ;; 4) # Thursday Relatively Wednesday's incremental backup innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /backup/xtra_inc_$dt --incremental-basedir=/backup/xtra_base_$lastday > /tmp/$log 2>&1 ;; 5) # Friday Compared with Thursday's incremental backup innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /backup/xtra_inc_$dt --incremental-basedir=/backup/xtra_inc_$lastday > /tmp/$log 2>&1 ;; 6) # Saturday Compared with Friday's incremental backup innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /backup/xtra_inc_$dt --incremental-basedir=/backup/xtra_inc_$lastday > /tmp/$log 2>&1 ;; esac find /tmp -mtime +6 -type f -name 'backuplog.*' -exec rm -rf {} \;# 全库恢复脚本 xtrabackup_recover.sh:#!/bin/bash# filename : xtrabackup_recover.sh# Author : wangday=`date +%w`dt=`date +%Y%m%d`lastday=`date -d '1 days ago' +%Y%m%d`lasttwoday=`date -d '2 days ago' +%Y%m%d`lastthreeday=`date -d '3 days ago' +%Y%m%d`user=rootpwd='xxxxxxx'log=recoverlog.`date +%Y%m%d`datefile=/mysqldatacase $day in 0) # Sunday Recover Database innobackupex --apply-log /backup/xtra_base_$dt > /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$dt >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$dt/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$dt/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 1) # Monday Recover Database innobackupex --apply-log --redo-only /backup/xtra_base_$lastday > /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastday/ --incremental-dir=/backup/xtra_inc_$dt/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastday >> /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$lastday >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$lastday/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$lastday/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 2) # Tuesday Recover Database innobackupex --apply-log --redo-only /backup/xtra_base_$lasttwoday > /tmp/$log 2>&1 innobackupex --apply-log --redo-only /backup/xtra_base_$lasttwoday/ --incremental-dir=/backup/xtra_inc_$lastday/ >> /tmp/$log 2>&innobackupex --apply-log /backup/xtra_base_$lasttwoday/ --incremental-dir=/backup/xtra_inc_$dt/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lasttwoday >> /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$lasttwoday >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$lasttwoday/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$lasttwoday/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 3) # Wednesday Recover Database innobackupex --apply-log /backup/xtra_base_$dt > /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$dt >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$dt/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$dt/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 4) # Thursday Recover Database innobackupex --apply-log --redo-only /backup/xtra_base_$lastday > /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastday/ --incremental-dir=/backup/xtra_inc_$dt/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastday >> /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$lastday >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$lastday/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$lastday/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 5) # Friday Recover Database innobackupex --apply-log --redo-only /backup/xtra_base_$lasttwoday > /tmp/$log 2>&1 innobackupex --apply-log --redo-only /backup/xtra_base_$lasttwoday/ --incremental-dir=/backup/xtra_inc_$lastday/ >> /tmp/$log 2>&innobackupex --apply-log /backup/xtra_base_$lasttwoday/ --incremental-dir=/backup/xtra_inc_$dt/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lasttwoday >> /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$lasttwoday >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$lasttwoday/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$lasttwoday/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; 6) # Saturday Recover Database innobackupex --apply-log --redo-only /backup/xtra_base_$lastthreeday > /tmp/$log 2>&1 innobackupex --apply-log --redo-only /backup/xtra_base_$lastthreeday/ --incremental-dir=/backup/xtra_inc_$lasttwoday/ >> /tmp/$log 2>&1 innobackupex --apply-log --redo-only /backup/xtra_base_$lastthreeday/ --incremental-dir=/backup/xtra_inc_$lastday/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastthreeday/ --incremental-dir=/backup/xtra_inc_$dt/ >> /tmp/$log 2>&1 innobackupex --apply-log /backup/xtra_base_$lastthreeday >> /tmp/$log 2>&1 service mysqld stop rm -rf $datefile/* innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/xtra_base_$lastthreeday >> /tmp/$log 2>&1 chown -R mysql:mysql $datefile service mysqld start binlog=`cat /backup/xtra_base_$lastthreeday/xtrabackup_binlog_info|awk '{print $1}'` pos=`cat /backup/xtra_base_$lastthreeday/xtrabackup_binlog_info|awk '{print $2}'` mysqlbinlog --no-defaults --start-position=$pos /mysqllog/$binlog | mysql -u$user -p$pwd ;; esac find /tmp -mtime +6 -type f -name 'recoverlog.*' -exec rm -rf {} \;
备份
脚本
增量
每周日
策略
简介
全备
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
场景烘培服务器
信拓网络技术有限公司
数据库能查到什么
网络安全第五空间混合构成
网络安全攻击常用手段
网络安全周2021第几届
辽宁立体化软件开发包括哪些
上海寻梦网络技术有限公司
政企云服务器
传统软件开发难点
王者服务器满了怎么进
郑州学习网络安全
兰州飞兔网络技术有限公司
手机如何远程云服务器
增城小程序软件开发服务商
xp网络安全模式联网
存储服务器端口
信息技术与计算机网络技术
网络安全 神州数码
用友连不上数据库是怎么回事
王者如何开语音服务器
正常的收信服务器是什么
等危害网络安全的活动
塔式gpu服务器采购技术参数
农村网络安全法案例
东营安卓软件开发外包公司
信用卡逾期上报数据库会怎么样
软件开发连云港
云服务器云主机
网络技术为什么需要店面