自动备份

备份需求

数据库备份的重要性再怎么强调也不为过。当你的操作出现差错,但又因为没有作备份导致数据无法还原时,你就能体会到“万念俱灰”的心情了。

数据库备份有多种形式,本文以我的个人网站数据库备份为例。

需求如下:

  • 每天凌晨自动备份
  • 将备份的文件自动上传至码云的个人私有仓库

实现方式

实现方式很简单:

  • 码云上新建私有仓库mysqlBackUp
  • 服务器与码云建立SSH key的信任关系
  • 通过crontab定时执行备份脚本

备份脚本mysqldump.sh

#!/bin/bash
cd ~/backup
message=`date "+%Y%m%d"`
mysqldump -uUsername -pPassword databaseName > 'databaseName.sql'
git add -A
git commit -m "${message}"
git push

定时任务:

0 03 * * * sh /home/wwwroot/mysqldump.sh # 数据库备份

通过以上设置,每天凌晨三点就会自动备份数据并推送到git仓库,以后就可以通过git的版本记录查看各个历史版本。再也不用担心丢数据了...

作者:塞亚猫
链接:https://www.jianshu.com/p/4b5527ea6248
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

mysql自动备份并上传至git仓库的更多相关文章

  1. 使用git将本地项目上传至git仓库

    个人博客 地址:https://www.wenhaofan.com/article/20190508220440 介绍 一般来说开发过程中都是先在git创建远程仓库,然后fetch到本地仓库,再进行c ...

  2. 本地代码上传到git仓库(github)

    准备:拥有自己的github账号:电脑上安装了git; 1.进入github,进入仓库点击NEW(新建仓库) 2.新建仓库 Repository name :仓库名称: Description (op ...

  3. svn自动备份并上传到ftp

    .建立bat文件 simpleBackup.bat,文件内容如下 @echo 正在备份版本库%1......@%SVN_HOME%bin\svnadmin hotcopy %1 %BACKUP_DIR ...

  4. 本地代码上传至git仓库

    1.进入项目文件夹,初始化 git init 2.添加文件到版本库 git add . 3.提交文件 git commit -m "初次提交" 4.关联远程仓库 git remot ...

  5. 阿里云CentOS自动备份MySql 8.0并上传至七牛云

    本文主要介绍一下阿里云CentOS7下如何对MySql 8.0数据库进行自动备份,并使用.NET Core 将备份文件上传至七牛云存储上,并对整个过程所踩的坑加以记录. 环境.工具.准备工作 服务器: ...

  6. Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

    说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...

  7. mysql自动备份维护shell脚本 (copy)

    #!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 # * * * backupmysql.sh #压缩并以&qu ...

  8. Windows下mysql自动备份的最佳方案

    网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...

  9. Mysql 自动备份脚本

    转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...

随机推荐

  1. 非常详细的ok6410的linux系统移植…

    目录 Linux 3.3.5系统移植 2 LED驱动移植 8 按键驱动移植 9 LCD驱动移植 11 DM9000网卡驱动移植 14 搭建NFS网络文件系统 25 移植触摸屏驱动 38 移植Qt4.8 ...

  2. SpringSecurity3.X权限原理(转)

      这里给出一个简单的安全验证的实现例子,先说一下需求: 1.通过登录页面进行登录 2.用户登录前访问被保护的地址时自动跳转到登录页面 3.用户信息存储在数据表中 4.用户权限信息存在在数据表中 5. ...

  3. opennebula 创建镜像数据块

    {","csrftoken":"f5454a02dea7b4a7d5d50b482a762b57"}

  4. QT编译时出现警告 Warning: Class Node implements the interface QGraphicsItem but does not list it in Q_INTERFACES. qobject_cast to QGraphicsItem will not work!

    1.一定要将public QObject放在public QGraphicsItem的前面,并且在该类的定义中添加Q_OBJECT宏. class XXGraphicsItem : public QO ...

  5. 14.UNION 和 UNION ALL 操作符

    union all   union UNION 操作符用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同 ...

  6. 特征不同取值/区间下 label 的均值曲线

    def two_plot(df, feat, tick_label=None, rotate_tick=60): print('\n### 不同取值/区间下 label 的均值曲线') fig, ax ...

  7. 简单的Session案例 —— 一次性验证码

    一次性验证码的主要目的就是为了限制人们利用工具软件来暴力猜测密码,其原理与利用Session防止表单重复提交的原理基本一样,只是将表单标识号变成了验证码的形式,并且要求用户将提示的验证码手工填写进一个 ...

  8. C6678 srio communication via Switch

    First, I don't often give praise for support but I must say Travis, Karthik and Derek from TI have b ...

  9. Quartus II 14.0正式版 下载链接和破解器

    Windows版本 必装组件: Quartus II http://download.altera.com/akdlm/software/acdsinst/14.0/200/ib_installers ...

  10. easyUI form sumit 中文乱码

    jsp 编码方式: pageEncoding="UTF-8" tomcat 编码方式: <Connector connectionTimeout="20000&qu ...