简介
我们在部署我们的中小型项目时, 在数据存储, 我们通常选择 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 指定的时间只有五个部分
使用命令 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中文网其他相关文章!

掌握Linux操作的原因是其广泛的应用场景和强大的功能。1)Linux适合开发者、系统管理员和技术爱好者,应用于服务器管理、嵌入式系统和容器化技术。2)学习Linux可以从文件系统结构、Shell使用、用户权限管理和进程管理入手。3)Linux命令行是其核心工具,通过Shell执行命令,如ls、mkdir、cd等,支持重定向和管道操作。4)高级用法包括编写自动化脚本,如备份脚本,使用tar命令和条件判断。5)常见错误包括权限、路径和语法问题,可通过echo、set-x和$?调试。6)性能优化建议

Linux系统的五大支柱是:1.内核,2.系统库,3.Shell,4.文件系统,5.系统工具。内核管理硬件资源并提供基本服务;系统库为应用程序提供预编译函数;Shell是用户与系统交互的接口;文件系统组织和存储数据;系统工具用于系统管理和维护。

在Linux系统中,可以通过在启动时按特定键或使用命令如“sudosystemctlrescue”进入维护模式。维护模式允许管理员在不受干扰的情况下进行系统维护和故障排除,如修复文件系统、重置密码、修补安全漏洞等。

Linux初学者应掌握文件管理、用户管理和网络配置等基本操作。1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。2)用户管理:使用useradd、passwd、userdel、usermod命令。3)网络配置:使用ifconfig、echo、ufw命令。这些操作是Linux系统管理的基础,熟练掌握它们可以有效管理系统。

本文解释了如何管理Linux中的Sudo特权,包括授予,撤销和安全性最佳实践。关键重点是安全和sudoers安全和限制访问。Character数量:159

本文提供了有关使用Google Authenticator在Linux上设置两因素身份验证(2FA)的指南,详细介绍了安装,配置和故障排除步骤。它突出了2FA的安全益处,例如增强的SEC

本文讨论了使用TOP,HTOP和VMSTAT监视Linux系统性能,并详细介绍其独特功能和自定义选项,以进行有效的系统管理。

文章讨论了使用APT,YUM和DNF在Linux中管理软件包,涵盖安装,更新和删除。它比较了它们对不同分布的功能和适用性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。