mysql备份与恢复方案
38
效劳器备份方案
一、MYSQL数据库备份与恢复:
数据库本地备份:当数据量少的时候可以在每天凌晨1-3点进行完全备份,随着数据库的增大,可 以2两小时〔根据需求设置时间〕做增量备份与完全备份相结合的备份方式以保证数据的平安.
数据库完全备份脚本:
1.确定我们备份文件存放的目录这里我把所有备份文件放到/home/mysqlback
2.确定需要备份的数据库,这里我们用备份d_test这个数据库来说明.
3.确定我们要备份的时间,我们以每天两小时备份一次做说明.
#!/bin/sh
dbuser="root"
dbpasswd="123456〞
房屋抵押借款合同模板dbname="d_test〞
date1='date +%Y%m%d'
date2=date +%Y%m%d%H%M%S
date3='date -d -5day +"%Y%m%d"'
back="/home/mysqlback/$date1〞 if [ ! -d $back ] then
mkdir -p $back fi
mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$ cd /home/mysqlback rm -rf $date3
#!/bin/sh#shell 脚本
页脚内容
38
date2 = 'date +%Y%m%d%H%M%S#读取当前的日期时间新春手抄报2021内容YmdH小时M分钟S
date3 = 'date -d -5day +"%Y%m%d"'#读取当天日期之5天前的日期
back = /home/mysqlback/$date1# 备份文件存放目录
#判断是不是有文件存放目录如果没有那么新建.
if [ ! -d $back ]
then
mkdir -p $back fi
#使用mysqldump命令来备份指定的数据库并且压缩成gz包.
mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$
#删除指定5天前备份的过期文件以便节省磁盘空间
cd /home/mysqlback
rm -rf $date3
异地备份
首先准备一台异地的效劳器,并且搭建好vsftpvsftp具体搭建详细步骤请参考VSFTP搭建文档〕
异地备份到vsftp效劳器上脚本如下:
#!/bin/sh
大学祝福语 八个字
echo "start backup"
dbuser="root"
贝脚内容
38
dbpasswd="123456" dbname="dtest" date1='date +%Y%m%d' date2=date +%Y%m%d%H%M%S date3='date -d -4day +"%Y%m%d"' back="/home/ftp1/$date1" if [ ! -d $back ] then mkdir -p $back fi mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/ sleep 5s cd $back ftp <<EOF
open 192.168.16.104
怎么给文件夹设置密码user ftp1 1123456
binary
put
rename $
close bye
EOF
贝脚内容
38
mv $
I
cd /home/ftpl
rm -rf $date3
数据库恢复或者重建,由于是完全备份,可以直接恢复最后一次完全备份文件.
gunzip备份. | mysql -u root -p d_test
二.文件备份与恢复:
由于文件一般都比拟大,所以我们采用完整与增量结合的方式做备份,每个星期〔时间具体情况而定〕 备份完整备份一次文件,每天做一次增量备份.备份脚本如下 #!/bin/sh
wenjian="/home/backwenjian〞
backlog="/home/backlog〞
date1='date +%Y%m%d'
date2=date +%Y%m%d%H%M%S
date3='date -d -14day +"%Y%m%d"'
back="/home/beifen/$date1〞 if [ ! -d $back ] then
mkdir -p $back fi
tar -g $backlog -zcf $back/$ $wenjian cd /home/beifen rm -rf $date3
#!/bin/sh
#shell脚本
贝脚内容
#判断是不是有文件存放目录如果没有那么新建 if [ ! -d $back ]
then
mkdir -p $back
fi #tar备份指定文件并打包 tar -g $backlog -zcf $back/$ $wenjian #命令在第一次使用的时候是完整
备份,之后使用那么是增量备份
#进入备份存放目录删除指定时间目录数据库恢复
cd /home/beifen
rm -rf $date3
如果需要一周备份一次完整备份,我们只需要把记录文件删除或者备份到其他目录或者改名就好下面是 脚本
# /sbin/sh燃气灶打不着火原因和处理方法维修
date='date +%Y%m%d'
mv /home/backlog /home/backlog-$date
文件恢复:
使用tar解包命令进行解包,恢复顺序为,最后一次完整备份+最后一次完整备份后的一次增量备份
贝脚内容
38
+……+最后一次增量备份.
脚本运行时间也是备份策略时间:
一种系统默认自动执行的目录有一下几个,如果备份策略规律符合下面的策略时间的话,可以把编写的
shell脚本放入对应的目录即可,系统会自动运行对应文件,提示:所以的shell脚本要给予执行权

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。