首页 > 运维 > linux运维 > 正文

Linux MySQL 定时备份并上传到 git 仓库

藏色散人
发布: 2019-12-24 14:29:29
转载
2625人浏览过

简介

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

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

推荐学习:《linux教程

码云

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

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

服务器新建备份

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

$ 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 指定的时间只有五个部分

ccd07c12bef1e83d033c0ae6e8a0d80.png

使用命令 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 仓库的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:ruoxiaozh网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号