数据库自动备份到gitee上,实现数据自动化备份

本人有个不太好的习惯,每次项目的数据库都是在线上创建,Navicat 连接线上数据库进行处理,最近有一个项目需要二次升级,发现老项目部署的服务器到期了,完蛋,数据库咩了!!!

只能自己手动补充,唉,自作自受

现在自己写了一个开源的脚本,用来实现宝塔自动备份服务器所有数据库,备份过的数据库自动上传至gitee项目中。

最新版本v1.1新增分支处理多服务器数据信息

https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh

安装执行脚本:

wget https://gitee.com/liudenghuix/gitSync/releases/download/v1.1/gitSync.sh -O /usr/local/bin/gitSync && chmod +x /usr/local/bin/gitSync && gitSync

一、gitee创建数据库备份项目

要注意,这个项目一定是私有的,选择好后进行创建

二、宝塔开启备份所有数据库的计划任务

创建完成之后点击一下立即执行,一会用脚本测试上传功能

三、服务器下载脚本并设置相关功能

下载安装命令

bash 复制代码
wget https://gitee.com/liudenghuix/gitSync/releases/download/v1.0/gitSync.sh -O /usr/local/bin/gitSync && chmod +x /usr/local/bin/gitSync && gitSync

看到这个画面就是安装成功了,接下来就是设置并在宝塔和gitee上进行配置了

执行 gitSync -run

1.设置你git的用户名和邮箱,这里填写你再git的邮箱和用户名就可以了

2.设置你这台服务器的ssh备注,这个备注用于自动上传的备注信息,这里我是用备注+服务器ip的形式作为备注的

3.生成公钥完毕之后,要把公钥复制下来,在gitee中进行设置

设置完成回到设置输入y

Gitee连接检测结果: Hi 刘登辉(@liudenghuix)! You've successfully authenticated, but GITEE.COM does not provide shell access.

系统提示连接上gitee了

3.在gitee中添加ssh公钥完成之后需要设置一个git目录,因为宝塔备份的数据库地址是在

/www/backup/database/mysql/crontab_backup

所以我们设置 /www/backup/database/mysql/crontab_backup

设置完成之后git就会提交本地仓库

4.仓库路径设置完成之后,要设置远程的仓库的url了,在创建仓库的时候远程仓库url就已经给我们了

复制代码
git@gitee.com:liudenghuix/crontab_backup.git

设置之前我们先去看下gitee项目中有没有上传的备份文件

这个时候再设置远程仓库地址

复制代码
git@gitee.com:liudenghuix/crontab_backup.git

设置完成之后脚本就会自动推送/www/backup/database/mysql/crontab_backup下面的所有数据库备份文件了

四、宝塔设置自动定时上传

因为数据库是每天2小时30分钟开始备份的,所有延迟5分钟设置在每天2小时35分钟开始执行git上传

#!/bin/bash

gitSync -push

添加完成之后别忘记测试一下执行,然后去gitee看看推送成功没有

可以看到,初始化的时候显示的是 备注+ip初始化提交,计划任务提交的时候显示的是gitSync脚本推送外加备注信息

相关推荐
舒一笑8 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
IvorySQL9 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
NineData10 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
IvorySQL15 小时前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源
数据组小组1 天前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
梦想很大很大1 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair1 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主1 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
悟空聊架构1 天前
基于KaiwuDB在游乐场“刷卡+投币”双模消费系统中的落地实践
数据库·后端·架构