最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
shell实现mysql mysqldump实现数据全备份或增量备份
时间:2013-10-22 编辑:简简单单 来源:一聚教程网
本篇文章主要讲如何使用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 BakDir=/home/mysql/backup cd $BakDir /usr/local/mysql/bin/mysqldump -uroot -p123456 --quick --all-databases --flush-logs --delete-master-logs --single-transaction > $DumpFile Last=`date +"%Y年%m月%d日 %H:%M:%S"` cd $BakDir/daily |
2.编写增量备份脚本
代码如下 | 复制代码 |
# cat /root/DBDailyBak.sh //内容为下 #!/bin/bash BakDir=/home/mysql/backup/daily /usr/local/mysql/bin/mysqladmin -uroot -p123456 flush-logs
|
3.设置crontab任务,每天执行备份脚本
代码如下 | 复制代码 |
# crontab -l //内容为下 #每个星期日凌晨3:00执行完全备份脚本 |
附录:
sh -n /root/DBFullyBak.sh可以用于检测shell语法是否正确
相关文章
- MySQL登录、访问及退出操作解析 10-18
- sql语句 update字段null不能用is null问题解析 09-28
- SQL Server ISNULL 不生效原因及解决分析 09-28
- 关于if exists的用法及说明分析 09-28
- Access数据库日常维护方法 09-28
- Oracle 删除大量表记录操作介绍 09-27