相约马尔代夫 發表於 2025-12-20 15:31:44

宝塔服务器的mysql数据库自动备份到gitee项目

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">gitee创建数据库备份项目</a></li><li><a href="#_label1">宝塔开启备份所有数据库的计划任务</a></li><li><a href="#_label2">服务器下载脚本并设置相关功能</a></li><li><a href="#_label3">宝塔设置自动定时上传</a></li></ul></div><p>本人有个不太好的习惯,每次项目的数据库都是在线上创建,Navicat&nbsp;连接线上数据库进行处理,最近有一个项目需要二次升级,发现老项目部署的服务器到期了,完蛋,数据库咩了!!!</p>
<p>只能自己手动补充,唉,自作自受</p>
<p>现在自己写了一个开源的脚本,用来实现宝塔自动备份服务器所有数据库,备份过的数据库自动上传至gitee项目中。</p>
<blockquote><p>最新版本v1.1新增分支处理多服务器数据信息</p>
<p><a href="https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh" rel="external nofollow" title="https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh">https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh</a></p>
<p>安装执行脚本:</p>
<p>wget https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh -O /usr/local/bin/gitSync &amp;&amp; chmod +x /usr/local/bin/gitSync &amp;&amp; gitSync</p></blockquote>
<p class="maodian"><a name="_label0"></a></p><h2>gitee创建数据库备份项目</h2>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222569.png" /></p>
<p>&nbsp;要注意,这个项目一定是私有的,选择好后进行创建</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222541.png" /></p>
<p class="maodian"><a name="_label1"></a></p><h2>宝塔开启备份所有数据库的计划任务</h2>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222592.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222566.png" /></p>
<p>创建完成之后点击一下立即执行,一会用脚本测试上传功能</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222597.png" /></p>
<p class="maodian"><a name="_label2"></a></p><h2>服务器下载脚本并设置相关功能</h2>
<p>&nbsp;下载安装命令</p>
<div class="jb51code"><pre class="brush:bash;">wget https://gitee.com/liudenghuix/gitSync/releases/download/v1.0/gitSync.sh -O /usr/local/bin/gitSync &amp;&amp; chmod +x /usr/local/bin/gitSync &amp;&amp; gitSync</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222676.png" /></p>
<p>看到这个画面就是安装成功了,接下来就是设置并在宝塔和gitee上进行配置了</p>
<p>&nbsp;&nbsp;执行 gitSync -run</p>
<p>1.设置你git的用户名和邮箱,这里填写你再git的邮箱和用户名就可以了</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222557.png" /></p>
<p>2.设置你这台服务器的ssh备注,这个备注用于自动上传的备注信息,这里我是用备注+服务器ip的形式作为备注的</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222526.png" /></p>
<p>3.生成公钥完毕之后,要把公钥复制下来,在gitee中进行设置</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222536.png" /><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222553.png" /></p>
<p>设置完成回到设置输入y</p>
<blockquote><p>Gitee连接检测结果: Hi 刘登辉(@liudenghuix)! You&#39;ve successfully authenticated, but GITEE.COM does not provide shell access.<br />&nbsp;</p></blockquote>
<p>系统提示连接上gitee了</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222679.png" /></p>
<p>4.在gitee中添加ssh公钥完成之后需要设置一个git目录,因为宝塔备份的数据库地址是在</p>
<blockquote><p>/www/backup/database/mysql/crontab_backup&nbsp;</p></blockquote>
<p>所以我们设置&nbsp;/www/backup/database/mysql/crontab_backup&nbsp;</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222524.png" /></p>
<p>设置完成之后git就会提交本地仓库</p>
<p>5.仓库路径设置完成之后,要设置远程的仓库的url了,在创建仓库的时候远程仓库url就已经给我们了</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222573.png" /></p>
<blockquote><pre>git@gitee.com:liudenghuix/crontab_backup.git</pre></blockquote>
<p>设置之前我们先去看下gitee项目中有没有上传的备份文件</p>
<p style="text-align:center">&nbsp;<img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222541.png" /></p>
<p>这个时候再设置远程仓库地址</p>
<div class="jb51code"><pre class="brush:bash;">git@gitee.com:liudenghuix/crontab_backup.git</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222538.png" /></p>
<p>设置完成之后脚本就会自动推送/www/backup/database/mysql/crontab_backup下面的所有数据库备份文件了</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222595.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222672.png" /></p>
<p class="maodian"><a name="_label3"></a></p><h2>宝塔设置自动定时上传</h2>
<p>因为数据库是每天2小时30分钟开始备份的,所有延迟5分钟设置在每天2小时35分钟开始执行git上传</p>
<blockquote><p>#!/bin/bash<br />gitSync -push</p></blockquote>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222635.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222683.png" /></p>
<p>添加完成之后别忘记测试一下执行,然后去gitee看看推送成功没有&nbsp;</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122015222681.png" /></p>
<p>&nbsp;可以看到,初始化的时候显示的是 备注+ip初始化提交,计划任务提交的时候显示的是gitSync脚本推送外加备注信息</p>
頁: [1]
查看完整版本: 宝塔服务器的mysql数据库自动备份到gitee项目