欢迎来到天天文库
浏览记录
ID:41271016
大小:44.50 KB
页数:5页
时间:2019-08-20
《数据库备份策略说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库备份策略说明1、备份目的保障项目数据安全,防止服务器故障导致数据无法恢复的情况。2、备份策略综述:所有mysql实例已经实现了master、slave结构,我们备份一般在slave服务器进行。部分备份完成之后,会上传一份数据到存储机或者其他服务器进行异机及异地备份,另外备份保存一份。一、备份方式1、本机备份该备份模式,适合于快速恢复数据。比如:误操作删除数据等2、异机容灾备份该备份模式,能比较好的规避单机故障问题。3、异地容灾备份该备份模式,规避大规模IDC故障(比如:火灾、地震、空调故障等)、数据安全问题二、备份频率1、主站www、bbs、blog等核心项目,进
2、行每天完整备份。结合各项目数据库实例master与slave结构,以及当前slave服务器负载和带宽情况,采用crontab定时备份。2、对于跟商业有关的项目,备份策略同核心项目。3、非核心项目90%备份策略采用核心项目备份机制,其他采用每周备份策略。4、对于近期大规模更新数据或者数据库结构变更的数据库实例,采用人员干预备份模式,即走备份申请流程。三、备份准备1、创建备份目录/opt/phpdba/backup/database2、脚本编写详见第四项,备份脚本3、加入计划任务crontab4、检查备份情况5、添加每天检查列表四、备份脚本#!/bin/shLogFile=
3、db$(date+%y%m%d).logweek=`date+%w`cd/opt/phpdba/backup/databaseforDBNameindatabasedoNewFile=db$DBName$(date+%y%m%d).tar.gzOldLogFile=db$(date-d'7daysago'+%y%m%d).logif[-f$OldLogFile]thenrm-f$OldLogFile>>$LogFile2>&1echo"[$OldLogFile]DeleteOldlogFileSuccess!">>$LogFileelseecho"[$OldLogFil
4、e]NoOldlogFile!">>$LogFileficase$weekin1)date=`date-d'56daysago'+%y%m%d`OldFile=db$DBName$date.tar.gzif[-f$OldFile]thenrm-f$OldFile>>$LogFile2>&1echo"[$OldFile]DeleteOldFileSuccess!">>$LogFileelseecho"[$OldFile]NoOldBackupFile!">>$LogFilefi;;2
5、3
6、4
7、5
8、6
9、0)date=`date-d'7daysago'+%y%m%d`OldF
10、ile=db$DBName$date.tar.gzif[-f$OldFile]thenrm-f$OldFile>>$LogFile2>&1echo"[$OldFile]DeleteOldFileSuccess!">>$LogFileelseecho"[$OldFile]NoOldBackupFile!">>$LogFilefi;;esacif[-f$NewFile]thenecho"[$NewFile]TheBackupFileisexists,Can'tBackup!">>$LogFileelsedatestart=$(date+%s)if[-z$DBPasswd]t
11、henmysqldump-u$DBUser--opt$DBName
12、gzip>$NewFileelseecho"startbackup">>$LogFilecd/opt/phpdba/data/database#shstop3310.sh/opt/phpdba/mysql/bin/mysql-S/tmp/mysql.sock-p'123456'-e"stopslave;flushtables"tarzcf/opt/phpdba/backup/database/$NewFilevar#shstart3310.sh/opt/phpdba/mysql/bin/mysql-S/
13、tmp/mysq.sock-p'123456'-e"startslave"cd/opt/phpdba/backup/databasefiecho"[$NewFile]BackupSuccess!">>$LogFiledateend=$(date+%s)lettime=$dateend-$datestartecho"TheBackupTimeIs:[$time]">>$LogFilefilesize=`ls-l/opt/phpdba/backup/database/$NewFile
14、awk'{print$5}'`if[$filesize-e
此文档下载收益归作者所有