mysql dump 增量_mysql mysqldump数据备份和增量备份
本篇文章主要讲如何使用shell实现MysqL全量,增量备份。增量备份在周一-周六凌晨3点,会复制MysqL-bin.00000*到指定目录;而全量备份则使用MysqLdump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*。然后对MysqL的备份操作会保留在bak.log文件中。如下图:
开始:2013年05月02日 15:10:57 结束:2013年05月02日 15:12:16 20130502.sql.tgz succ是由DBFullyBak.sh产生的,每周备份一次;MysqL-bin.000001 copying;MysqL-bin.000002 skip!;2013年05月02日 16:53:15 Bakup succ!则是由DBDailyBak.sh产生的,每天一次。
实现:
1.编写全量备份脚本
# vim /root/DBFullyBak.sh //添加以下内容
#!/bin/bash
# Program
# use MysqLdump to Fully backup MysqL data per week!
# History
# 2013-04-27 guo first
# Path
# ....
BakDir=/home/MysqL/backup
LogFile=/home/MysqL/backup/bak.log
Date=`date +%Y%m%d`
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
/usr/local/MysqL/bin/MysqLdump -uroot -p123456 --quick --all-databases --flush-logs --delete-master-logs --single-transaction > $DumpFile
/bin/tar czvf $GZDumpFile $DumpFile
/bin/rm $DumpFile
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile
cd $BakDir/daily
rm -f *
2.编写增量备份脚本
# cat /root/DBDailyBak.sh //内容为下
#!/bin/bash
# Program
# use cp to backup MysqL data everyday!
# History
# 2013-05-02 guo first
# Path
# ....
BakDir=/home/MysqL/backup/daily
BinDir=/home/MysqL/data
LogFile=/home/MysqL/backup/bak.log
BinFile=/home/MysqL/data/MysqL-bin.index
/usr/local/MysqL/bin/MysqLadmin -uroot -p123456 flush-logs
#这个是用于产生新的MysqL-bin.00000*文件
Counter=`wc -l $BinFile |awk '{print $1}'`
NextNum=0
#这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的。
for file in `cat $BinFile`
do
base=`basename $file`
#basename用于截取MysqL-bin.00000*文件名,去掉./MysqL-bin.000005前面的./
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $Counter ]
then
echo $base skip! >> $LogFile
else
dest=$BakDir/$base
if(test -e $dest)
#test -e用于检测目标文件是否存在,存在就写exist!到$LogFile去。
then
echo $base exist! >> $LogFile
else
cp $BinDir/$base $BakDir
echo $base copying >> $LogFile
fi
fi
done
echo `date +"%Y年%m月%d日 %H:%M:%S"` $Next Bakup succ! >> $LogFile
3.设置crontab任务,每天执行备份脚本
# crontab -l //内容为下
#每个星期日凌晨3:00执行完全备份脚本
0 3 * * 0 /root/DBFullyBak.sh >/dev/null 2>&1
#周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /root/DBDailyBak.sh >/dev/null 2>&1
附录:
sh -n /root/DBFullyBak.sh可以用于检测shell语法是否正确
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
mysql dump 增量_mysql mysqldump数据备份和增量备份相关推荐
- mysql dump hbase_导出mysqldump数据
mysql备份,备份数据,数据库,表结构 mysql mysqldump 这里我的数据库先叫做xmen; 备份数据库 代码如下: #mysqldump 数据库名 >数据库备份名 #mysqld ...
- mysql 自动热备份_mysql(mariadb)定时自动热备份+增量+远程备份脚本
优点:热备份,不影响业务,增量备份,远程备份. 目的:自动打包备份到远程10.0.0.111备份服务器 前提: 1.安装xtrabackup yum install http://www.percon ...
- mysql删除员工_MySQL误删数据救命指南:开发人员必收藏
首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你***过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是 ...
- java mysql 清空表_MySQL 删除数据表
MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...
- linux mysql load_file语句_mysql导入数据load data infile用法
我的文章一般浅显易懂,不会搞那么深入让大家很难理解.(其实我水平也不咋样) LOAD DATA INFILE 一直被认为是MySQL很强大的一个数据导入工具,因为他速度非常的快. 不过有几个问题一定要 ...
- mysql dump 数据库_MySQL使用mysqldump备份数据库
在本教程中,您将学习如何使用mysqldump工具备份MySQL数据库. MySQL GUI工具(如phpMyAdmin,SQLyog等)通常为备份MySQL数据库提供了方便的功能. 但是,如果您的数 ...
- mysql dump还原_mysql dump备份和恢复
--------------------------------------------- 1.准备工作 --------------------------------------------- - ...
- mysql -e 导出_mysql 导出数据导入数据
导出数据 mysqldump常用命令 1.只导出表结构,不导出数据 mysqldump -uroot -p123456 -d database > database.sql 2.只导出表数据,不 ...
- mysql 导入 分隔符_MySQL 导入数据
MySQL 导入数据 MySQL中可以使用两种简单的方式来导入MySQL导出的数据. 使用 LOAD DATA 导入数据 MySQL 中提供了LOAD DATA INFILE语句来插入数据. 以下实例 ...
最新文章
- Oracle Connect to an idle instance
- R语言ggplot2可视化在X轴上可视化时间标签实战:可视化时间标签、对时间标签进行旋转
- python统计excel出现次数_Python读取Excel一列并计算所有对象出现次数的方法
- C语言课程设计选哪个,C语言课程设计选题及要求.docx
- Intellij IDEA 那些隐藏好用的小技巧
- redis的入门/原理/实战大总结
- RabbitMQ的5种队列_路由模式_入门试炼_第8篇
- java super.start,java – 在字节码中确定哪里是super()方法调用所有构造函数必须在JVM上执行...
- 红盟云卡v1.6.2源码
- Swift 语言概览 -自己在Xcode6 动手写1
- 【BZOJ2456】mode,卡内存
- 【python】直方图均衡化和自适应均衡化图像
- 【Chrome】如何对Chrome浏览器内容进行长截图
- 电子系统中的品质因数
- Android 前置摄像头强制关闭镜像预览
- 多波束测深系统工作原理及组成,多波束在无人船上的应用
- 【汇智学堂】-div+css布局十二(商品列表图文展示)
- Apollo决策技术分享20190328
- n维椭球体积公式_洛氏硬度、布氏硬度、维氏硬度区别与对照
- 浏览器性能和兼容性测试
热门文章
- 2021全年“遇冷”后,“电商节”该何去何从?
- 从Tronbull引狂欢,看APENFT与波场带来的新可能
- linux时间同修改,linux 系统时间修改同步
- pandas如何保存在excel里面_【精选】Pandas一站式教程!
- larvel 中的api.php_Laravel API 系列教程(一): 基于 Laravel 5.5 构建 测试 RESTful API...
- java类的两个基本成分_Java类文件的基本结构
- ajax 同步异步true,async: false 实现AJAX同步请求 ( $.ajax同步/异步(async:false/true) )(示例代码)...
- C#程序设计--入门到精通 学习记录(一) C# 与 .net平台
- python常用的十进制、16进制之间的转换
- python中的类和对象