MySQL自动备份并提交到码云Git仓库 – 任我乐

之所以选择码云是因为其私有仓库是免费的,而私有仓库是收费,约7+美元一月,对于个人开发者似乎也是一笔不小的费用。

在创建自动将备份上传到码云仓库前,建议您先看下以下文章:

《如何通过Git将本地项目推送到码云或GitHub》

对于不太了解的朋友来说,此文章非常有用,否则在进行以下步骤时会出现各种报错。

实现方案:

    • 登录到码云
    • 创建私有仓库
    • 服务器生成ssh公钥
    • 创建SSH公钥

以上步骤在上文中有详细说明。

1.创建shell脚本文件:

$ cd /mnt/renwole

$ vim mysqlbak.sh

2.添加以下内容:

#!/bin/bash

createAt=`date +%Y-%m-%d-%H:%M:%S`

mysql_back_path=/mnt/MySQL-Bak

/usr/local/mysql/bin/mysqldump -u数据库用户名 -p密码 数据库名 > $mysql_back_path/renwoleblog-$createAt.sql

# 自动删除7天前的备份

# -type 文件类型 f是文件

find $mysql_back_path -name "*.sql" -type f -mtime +7 -exec rm -rf {} \;

cd $mysql_back_path

git add -A

git commit -m "${createAt}"

git push origin master

注意:上面的路径一定要是绝对路径,否则执行后成功,但是导出结果为空,手动执行正常!

3.设置执行权限:

$ chmod +x mysqlbak.sh

4.添加任务计划:

通过定时执行备份脚本

$ crontab -e

插入如下内容:

*/50 2 * * * /mnt/renwole/mysqlbak.sh

$ systemctl restart crond

设置完成后,每日凌晨2点50分,自动备份数据库并推送到码云仓库,后期可以通过查看历史提交的版本。再也不用担心数据丢失了。

版权声明:本站原创文章,欢迎任何形式的转载。

转载请注明:MySQL自动备份并提交到码云Git仓库 | 任我乐

原文地址:https://www.cnblogs.com/mylover2/p/11015843.html

时间: 2024-10-13 10:56:37

MySQL自动备份并提交到码云Git仓库 – 任我乐的相关文章

mysql自动备份并上传至git仓库

自动备份 数据库备份的重要性再怎么强调也不为过.当你的操作出现差错,但又因为没有作备份导致数据无法还原时,你就能体会到“万念俱灰”的心情了. 数据库备份有多种形式,本文以我的个人网站数据库备份为例. 需求如下: 每天凌晨自动备份 将备份的文件自动上传至码云的个人私有仓库 实现方式很简单: 码云上新建私有仓库 服务器与码云建立SSH key的信任关系 通过crontab定时执行备份脚本 备份脚本: 定时任务: 通过以上设置,每天凌晨三点就会自动备份数据并推送到git仓库,以后就可以通过git的版本

MYSQL自动备份并发送邮件工具

最近在开发小程序,由于服务器只有一台,所以不能数据库异机备份,出于数据安全的考虑,就做了一个数据库定时备份并发送邮件到自己的邮箱的小工具,先看下工具界面 这个工具主要涉及到三个部分 1.MYSQL自动备份 2.发送邮件 3.定时任务 MYSQL备份可以通过调用mysqldump命令从而来进行备份,这里提供一个命令大全:https://www.jb51.net/article/135724.htm 这里因为工具运行在服务器,所以连接ip和端口就默认为localhost和3306,直接上代码 发送邮

Mysql自动备份

Mysql自动备份 批处理命令: set"Ymd=%date:~,4%%date:~5,2%%date:~8,2%" set"hMs=%time:~,2%%time:~3,2%%time:~6,2%" mysqldump-uroot --password=password weixin> D:\mysql_back\weixin_%Ymd%_%hMs%.sql 命令解释 要用mysqldump需要设置环境变量 Mysqldump.exe程序在mysql安装目录

Windows下MYSQL自动备份批处理

windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅 按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.bat文件拷到相应目录下面. 1.按系统时间进行直接拷贝 net stop mysqlxcopy data\*.* d:\bonadb\%date:~0,10%\ /y /s/enet start mysql 2.用压缩软件,压缩备份 net stop mysqlc:\progra~1\winrar\winr

java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux

相信很多朋友都经历过数据库出问题的情况,我也同样(见我的上一篇博文:phpmyadmin误删表后的恢复过程(心惊胆跳啊)   ).如果数据很大或者很重要,那么恢复起来是相当困难的,所以我们在做一个相对完善的系统时,数据库的备份/还原功能是必不可少的.本文将在javaEE环境下实现MySQL的自动备份/还原,使用了struts2和hibernate框架,MySQL版本是5.1.16. 下图展示的是web application的执行流程, Timer是在一个随着application启动而启动的s

linux下的mysql自动备份shell

#!/bin/bash # mysql 的备份脚本 # 备份原理: # 1 # 使用列举出所有的库; # 2 # 使用每个库,列举出每张表,除了指定忽略的库; # 3 # 使用mysqldump 导出每一张表到文件:主机名/年月日/库/表.mysqldump.sql # 4 # 验证每张表的sql文件是否包含完成标志; # 5 # 压缩每个sql文件并删除本sql文件 # 6 # 强制删除超过x天的备份文件夹全部文件 # 7 # 发送处理日志到指定email # 8 # 请配合同步工具多处服务器

Linux下定时任务实现mysql自动备份并上传远程ftp

Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_datacd /homemkdir mysql_data2.创建备份脚本文件:/home/mysql_data/mysql_databak.shcd /homecd  mysql_datatouch mysql_databak.shvim  mysql_databak.sh #!/bin/sh DUMP=/usr/bin/mysqldump#mysqldump备份文件执行路径 OUT_

mysql 自动备份和nginx自动安装脚本

一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if [

MYSQL自动备份!

#cd /www #mkdir mysqlbackup #vi mysqlautobackup.sh 这个mysqlautobackup.sh的文件里写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump --opt datename -u dateuser -pdatepassword | gzip > /www/mysqlbackup/datename$filename.gz 保存退出,然后把这个文件赋予可执行的权限: #chmod 7