仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 910|回复: 9
打印 上一主题 下一主题

[shell编程] 给大家带来一个剧本完成Mysql的备份

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!关于数据库的备份和规复是DBA的次要义务,而怎样才干无效的备份数据库,而且能在数据库溃散的时分实时规复便变的相称主要了,假如在Linux上纯手动的备份数据库,将会带来很年夜的贫苦,一切我就写了个剧本,把剧本到场到按期义务列表中,按期实行数据备份,这就变得加倍简单办理数据库了,我这里是一个复杂的小剧本,固然在实践援用中还要修正,好比增加用户和暗码,能够依据本人的必要在做修正。
上面复杂的先容一下这个剧本,这个剧本实行的时分有四个参数:
/PATH/mysqlbak.sh-f//完整备份,这个能够依据本人数据库变化的情形设置多长工夫实行一次,到场一个月实行一次吧!
/PATH/mysqlbak.sh-d//这个是从最初一次完整备份到今朝的工夫的一次差别备份,如许就削减了备份数据库的工夫。
/PATH/mysqlbak.sh-i//这个参数能够完成增量备份,也就是上一次备份和此次备份之间数据库的变化,这个工夫能够短一点,如许能够在数据库溃散的时分削减丧失,能够一个小时一次。
/PATH/mysqlbak.sh-h//这个是匡助信息
把这些都到场到按期实行企图中,就能够完成主动实行剧本了,不必***手动举行备份了。
#!/bin/bash
#

functionHELPTXT{
echo"/PATH/mysqlbak.sh-f:Youcanbackupalldatabases"
echo"/PATH/mysqlbak.sh-i:Justbackuptheexterchangefromthelastbackup"
echo"/PATH/mysqlbak.sh-d:Backupfromthelastfull-backuptothecurrenttime"
}

DATE=`date"+%F-%H-%M-%S"`
mysql-e"FLUSHTABLESWITHREADLOCK;"
mysql-e"SHOWMASTERSTATUS;">/dev/null
startfile=/tmp/startposition
exterfile=/tmp/exterposition

whilegetopts"fdih"OPTS;do
case$OPTSin
f)
mysqldump--all-databases>/mybackup/db.$DATE
STARTPOSITION=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$2}>$startfile`
ESTARTPOSITION=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$2}>$exterfile`
cd/mybackup
tar-cjf/root/bakmysql/db.$DATE.tar.gz2db.$DATE>/dev/null
;;
d)
mysql-e"FLUSHTABLESWITHREADLOCK;"
mysql-e"SHOWMASTERSTATUS;">/dev/null
FILE=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$1}`
STARTPOSITION=`cat$startfile`
ENDPOSITION=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$2}`
mysqlbinlog--start-position$STARTPOSITION--stop-position$ENDPOSITION/mydata/data/$FILE>/mybackup/incre.$DATE
cd/mybackup
tar-cjf/root/bakmysql/incre.$DATE.tar.gz2incre.$DATE>/dev/null
;;
i)
mysql-e"FLUSHTABLESWITHREADLOCK;"
mysql-e"SHOWMASTERSTATUS;">/dev/null
FILE=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$1}`
EENDPOSITION=`mysql-e"SHOWMASTERSTATUS;"|tail-1|awk{print$2}>>$exterfile`
ESTARTPOSITION=`tail-n2$exterfile|head-n1`
Exendposition=`tail-n1$exterfile`
mysqlbinlog--start-position$ESTARTPOSITION--stop-position$Exendposition/mydata/data/$FILE>/mybackup/exter.$DATE
cd/mybackup
tar-cjf/root/bakmysql/exter.$DATE.tar.gz2exter.$DATE>/dev/null
;;
h)
HELPTXT
;;
esac
done


在crontab-e中增加义务企图,就可以完成主动备份数据库了!!

但愿这个小剧本可以让你加倍便利的办理mysql数据库,若有成绩,能够配合切磋!
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-15 21:25:05 | 只看该作者

给大家带来一个剧本完成Mysql的备份

我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
变相怪杰 该用户已被删除
板凳
 楼主| 发表于 2015-1-15 21:25:05 | 只看该作者

给大家带来一个剧本完成Mysql的备份

我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
乐观 该用户已被删除
地板
发表于 2015-1-24 07:34:44 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
小妖女 该用户已被删除
5#
发表于 2015-2-1 09:41:59 | 只看该作者
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
谁可相欹 该用户已被删除
6#
发表于 2015-2-7 05:41:07 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
7#
发表于 2015-2-21 09:59:51 | 只看该作者
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
老尸 该用户已被删除
8#
发表于 2015-3-6 21:15:27 | 只看该作者
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
简单生活 该用户已被删除
9#
发表于 2015-3-13 22:10:02 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
变相怪杰 该用户已被删除
10#
 楼主| 发表于 2015-3-20 21:54:19 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 07:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表