变相怪杰 发表于 2015-1-14 20:18:53

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

欢迎大家来到仓酷云论坛!关于数据库的备份和规复是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是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。

小妖女 发表于 2015-2-1 09:41:59

Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。

谁可相欹 发表于 2015-2-7 05:41:07

其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。

仓酷云 发表于 2015-2-21 09:59:51

随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。

老尸 发表于 2015-3-6 21:15:27

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。

简单生活 发表于 2015-3-13 22:10:02

要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。

变相怪杰 发表于 2015-3-20 21:54:19

掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
页: [1]
查看完整版本: 给大家带来一个剧本完成Mysql的备份