如何将Linux中MySQL数据定时备份到git仓库

  

<>强如何将Linux中MySQL数据定时备份到git仓库?相信很多新手小白还没学会这个技能,通过这篇文章的总结,希望你能学会学会这个技能。以下资料是实现的步骤。

<强>简介

我们在部署我们的中小型项目时,在数据存储,我们通常选择MySQL作为我们的存储工具。那么对于一个大的项目来说,每天的数据量是十分大的。对于每天产生的数据,如果哪一天我们的网站或者服务器受到攻击,我们的数据丢失是个很爆炸的事情,所以说自然这设计到数据库的备份。那么怎样的备份是我们想要的呢?

对于备份的数据文件我们可能会存放在服务器目录,备份周期的话当然是按照数据量来说的,这里我们一般都是每天的凌晨备份一次。备份后的文件存放在我们的服务器的目录下面,但是万一有一天服务器也崩溃了,那么备份的文件也就没了,所以我们设想一个好的方案就是数据库每天备份每次备份自动提交到远程仓库,这里我以码云为例。

<>强码云

首先建立好远程仓库,在这里我选择了码云

新建一个私有仓库,当然为了每次可以免密码提交文件,在服务器里可以生成ssh密钥

服务器新建备份

在服务器为了存储备份后的文件,新建一个备份目录

$ mkdir/贝克

进入该目录后,继续新建两个文件夹mysqlBak和shDir,一个是放脚本文件,一个是放具体备份后的文件。

下面我们可以去新建脚本了,进入shDir目录后执行

vim mysqlBak美元。sh

具体的代码如下:

# ! bin/sh   # # # # # # # # # # # # # # # # # # #数据库配置信息# # # # # # # # # # # # # # # # # # # # # # #   createAt='日期+ Y % - % - % d - H %: % m: % S的   用户=根   passwd=ghc1996   dbname ispace=mysql_back_path=/贝克/mysqlBak   # # # # # # # # # # # # # # # # # # #执行命令# # # # # # # # # # # # # # # # # # # # # # #   ,mysqldump - u $ user - p passwd dbname祝辞美元mysql_back_path/createAt.sql美元   cd/贝克/mysqlBak/usr/local/git/bin/git添加。/usr/local/git/bin/git commit - m createAt美元/usr/local/git/bin/git推动

这里只是一个简单的脚本,我想了linux的解很容易看的懂,执行的就是备份数据库并推到远程仓库。

那么既然是脚本,我们需要指明什么时候执行这个脚本,指定脚本执行。

 $ 0 0 * * */bin/sh/贝克/shDir/mysqlbak。sh 

对linux的crontab指定的时间只有五个部分

如何将linux中MySQL数据定时备份到git仓库

使用命令crontab - e然后直接编辑定时脚本。时间+具体的名字

举个列子来说就是:

0 0、3、7、9、12、15、18、21、23 * * */bin/sh/贝克/壳/mysqlBak。sh

这样的话就是我每天0、3、7、9、12、15、18、21日23点时会去执行这个脚本文件,那么这就实现了基本的数据库的备份

执行定时任务:

crontab美元- l

如果服务没有启动那么重新启动定时任务

美元systemctl重启crond

那么现在这个定时任务就已经启动了,对于提交远程仓库前提是在服务器生成ssh密钥并添加到码云,这在上面也提到过。

对于需要提交文件的目录初始化git目录就可以了,这样局可以构成了我们需要的本分任务。

当然过程中可能会遇到一些问题,我在下面的相关链接都已经罗列出来了。

这样一来我们就可以实现了每天的凌晨备份我们的数据库,并同时提交到我们的码云这个远程仓库,这也是我们想要的效果。

我也说过备份的周期视我们的项目的数据量的大小而定。

对于每个框架都有自己的备份机制我这里所写的是我们自己实现的一个通用的备份机制

以上就是将Linux中MySQL数据定时备份到git仓库的方法,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注行业资讯频道!

如何将Linux中MySQL数据定时备份到git仓库