0

0

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

藏色散人

藏色散人

发布时间:2019-12-24 14:29:29

|

2703人浏览过

|

来源于ruoxiaozh

转载

简介

我们在部署我们的中小型项目时, 在数据存储, 我们通常选择 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

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

超能文献
超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

下载
$ 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 目录就可以了, 这样局可以构成了我们需要的本分任务.

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

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

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

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

相关专题

更多
无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

0

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

windows激活码分享 windows一键激活教程指南
windows激活码分享 windows一键激活教程指南

Windows 10/11一键激活可以通过PowerShell脚本或KMS工具实现永久或长期激活。最推荐的简便方法是打开PowerShell(管理员),运行 irm https://get.activated.win | iex 脚本,按提示选择数字激活(选项1)。其他方法包括使用HEU KMS Activator工具进行智能激活。

1

2026.01.21

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

3

2026.01.21

毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm
毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm

毒蘑菇VOLUMESHADER_BM测试网站网址为https://toolwa.com/vsbm/,该平台基于WebGL技术通过渲染高复杂度三维分形图形评估设备图形处理能力,用户可通过拖动彩色物体观察画面流畅度判断GPU与CPU协同性能;测试兼容多种设备,但中低端手机易卡顿或崩溃,高端机型可能因发热降频影响表现,桌面端需启用独立显卡并使用支持WebGL的主流浏览器以确保准确结果

4

2026.01.21

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4

2026.01.21

windows安全中心怎么关闭打开_windows安全中心操作指南
windows安全中心怎么关闭打开_windows安全中心操作指南

Windows安全中心可以通过系统设置轻松开关。 暂时关闭:打开“设置” -> “隐私和安全性” -> “Windows安全中心” -> “病毒和威胁防护” -> “管理设置”,将“实时保护”关闭。打开:同样路径将开关开启即可。如需彻底关闭,需在组策略(gpedit.msc)或注册表中禁用Windows Defender。

3

2026.01.21

C++游戏开发Unreal Engine_C++怎么用Unreal Engine开发游戏
C++游戏开发Unreal Engine_C++怎么用Unreal Engine开发游戏

虚幻引擎(Unreal Engine, 简称UE)是由Epic Games开发的一款功能强大的工业级3D游戏引擎,以高品质实时渲染(如Nanite和Lumen)闻名 。它基于C++语言,为开发者提供高效率的框架、强大的可视化脚本系统(蓝图)、以及针对PC、主机和移动端的完整开发工具,广泛用于游戏、电影制片等领域。

0

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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