温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux中怎么将MySQL 定时备份并上传到 git 仓库

发布时间:2021-08-05 14:35:34 来源:亿速云 阅读:140 作者:Leah 栏目:数据库

Linux中怎么将MySQL 定时备份并上传到 git 仓库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  服务器新建备份

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

  $ mkdir /bak

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

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

  $ vim mysqlBak.sh

  具体的代码如下:

  #!bin/sh

  ################### 数据库配置信息 #######################

  createAt=`date +%Y-%m-%d-%H:%M:%S`

  user=root

  passwd=ghc1996

  dbname=ispace

  mysql_back_path=/bak/mysqlBak

  ################### 执行命令 #######################

  mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$createAt.sql

  cd /bak/mysqlBak

  /usr/local/git/bin/git add .

  /usr/local/git/bin/git commit -m $createAt

  /usr/local/git/bin/git push

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

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

  $ crontab -e

  我们希望是每天的凌晨执行一次备份, 并添加到远程仓库, 那么添加

  $ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.sh

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

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

  举个列子来说就是:

  0 0,3,7,9,12,15,18,21,23 * * * /bin/sh /bak/shell/mysqlBak.sh

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

  执行定时任务:

  $ crontab -l

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

  $ systemctl restart crond

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

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

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

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

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

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

看完上述内容,你们掌握Linux中怎么将MySQL 定时备份并上传到 git 仓库的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI