,,,,生产环境的MySQL是通过crontab的方式,定时调度热备脚本备份数据。目前是通过XtraBackup软件实现热备。关于热备脚本方面,请查看我原先的博客《使用壳实现MySQL自动全备,增备,日志备份》:http://linzhijian.blog.51cto.com/1047212/1891745,这里不再展开说明。
,,,,备份存放:通过XtraBackup的流式备份,将备份异地存放到备份服务器上。
,,,,备份策略:
,,,,目前缺漏:这些备份数据未能实现有效性检查,无法探知这些备份是否具有可用性,需要通过一定的机制实现有效性检测。
,,,,
drwxr-xr-x 18, mysql mysql 4096年,Apr ,, 9, 03:28 mysql01_20170409_023001_full drwxr-xr-x 18, mysql mysql 4096年,Apr 10, 03:25 mysql01_20170410_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 11, 03:26 mysql01_20170411_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 12, 03:25 mysql01_20170412_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 13, 03:26 mysql01_20170413_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 14, 03:26 mysql01_20170414_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 15, 03:27 mysql01_20170415_023001_incr drwxr-xr-x 18, mysql mysql 4096年,Apr 16, 03:29 mysql01_20170416_023001_full drwxr-xr-x 18, mysql mysql 4096年,Apr 17, 03:26 mysql01_20170417_023001_incr
# !/bin/sh if [$ #大敌;-ne 1,) 然后 ,,,echo “用法:,“basename 0美元”,[mysql01 | mysql02]“; ,,,exit 1 fi 主机名=1美元 今天=' date Y + % % m % d ' sh /home/mysql/壳/mysql_recover.sh hostname 美元;美元今天
# !/bin/sh if [$ #大敌;-ne 2,) 然后 ,,,echo “用法:,“basename 0美元”,[mysql01 | mysql02 | mysql03], 20170501,“ ,,,exit 1 fi 主机名=1美元 #主机名=癿ysql02" #今天=' date Y + % % m % d ' 今天=2美元 #周=' date w + % ' 周=' date -d  today 美元;+ % w ' time1=' date + % s ' 时间戳=' date Y + % % m % d % H % m % S ' logdir=?home/mysql/日志/mysqlrecoverlog/主机名/timestamp"美元; dir=?美元/mysqlbackup/databak/主机名/? fullname=癲ir/full_backup_file.txt"美元; incrname=癲ir/incr_backup_file.txt"美元; datadir=' grep datadir  |/etc/my . cnf中所做awk -F \=, & # 39; {print $ NF} & # 39;” errlog=' grep log-error  |/etc/my . cnf中所做awk -F \=, & # 39; {print $ NF} & # 39;” n1=?”, # #周几做热备,周一到周六为1 ~ 6周日为0。 n2=?“, # #周几最后一次增备,周一到周六为1 ~ 6周日为0。 mkdir logdir 美元;# #创建日志目录 function getdir () { if [,美元week -eq “n1"美元;,) 然后 ,,,fulldir=癴ind /mysqlbackup/databak/${主机名}/,-type d -name “* ${今天}* full"” ,,,#/mysqlbackup databak/mysql01/mysql01_20170430_023001_full ,,,if [!大敌;-n “fulldir"美元;,), ,,, ,,,,,,,echo “, fulldir not 存在! ! !“,在祝辞,$ logdir/recover_ ${时间戳}. log ,,,,,,,exit 1 ,,fi ,,,num=癴ind /mysqlbackup/databak/${主机名}/,-type d -name “* ${今天}* full" | wc - l ', ,,,#/mysqlbackup databak/mysql01/mysql01_20170429_023001_incr ,,,if [, num 美元;-eq “1“,), ,,, ,,,,,,,echo fulldir 美元;祝辞fullname美元 ,,, ,,,,,,,echo “there 断开连接;not only full dbbackup 今天,美元拷贝,please 检查! ! !“,在祝辞,$ logdir/recover_ ${时间戳}. log ,,,,,,,exit 1 ,,fi ,,,, 其他的 ,,,incrdir=癴ind /mysqlbackup/databak/${主机名}/,-type d -name “* ${今天}* incr"” ,,,if [!大敌;-n “incrdir"美元;,) ,,, ,,,,,,,echo “, incrdir not 存在! ! !“,在祝辞,$ logdir/recover_ ${时间戳}. log ,,fi ,,,num=癴ind /mysqlbackup/databak/${主机名}/,-type d -name “* ${今天}* incr" | wc - l ' ,,,if [, num 美元;-eq “1“,) ,,, null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null基于XtraBackup的备份有效性检查脚本