git自动化备份和恢复数据例子
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-12 11:31:24 浏览: 评论:0
git是目前十分流行的分布式项目版本管理系统,较之svn有很大的优势,昨天就想着应该好好利用一下git,于是就想着可以利用git的版本回退等做一个简单的项目自动备份和恢复功能,这样既可以使用git做项目的版本管理,又可以利用git做备份,这样项目进行迁移,备份等等都是非常方便的.
功能和实现的确非常之简单,但是这里有这样几个前提条件,首先就是需要有自己的linux服务器,会一些简单的shell编程,最后要熟悉git的一些相关命令.
github是目前git的一个十分流行的远程库,我的项目因为都是个人的,并且没有什么商业或安全性质,所以就使用了github做远程库,如果对这方面有要求的,可以给github交一些保护费,使用其私有的保护版本库,或者,在自己的服务器,搭建一个远程库服务,也很简单,网上git的资料很多,https://github.com/zhangcunchao,这是我的第一个github账号,我会陆续的将自己的一些开发项目,学习所得放到上面进行管理,因为这样是非常方便的.
实现的步骤非常简单,首先,在自己的服务器安装git,centos使用yum install git即可,这个教程不长,基本看下来,git的使用基本没有问题了.
然后,我们在github或者自己的远程版本库,创建版本库,将本地项目git库,与远程库同步,最后,shell脚本,做定时任务,进行git push同步远程.
因为我没有日志分析脚本和数据备份脚本,会对项目做更改,所以每天我会自动同步一次,即备份一次项目到github,所以我将其放到了我数据备份的脚本中,代码如下:
- #!/bin/sh
- user='xxxx'
- pwd='xxxx'
- mysqldump -u$user -p$pwd --opt xxx> xxxxx.sql
- mysqldump -u$user -p$pwd --opt xxx> xxxx.sql
- mysqldump -u$user -p$pwd --opt xxx> xxxx.sql
- #git push
- cd /xxx/xxx/www.phpfensi.com
- git add . 1>/dev/null 2>&1
- git commit -m "everyday push" 1>/dev/null 2>&1
- git push 1>/dev/null 2>&1
- cd /xxx/xxx/love.phpfensi.com
- git add . 1>/dev/null 2>&1
- git commit -m "everyday push" 1>/dev/null 2>&1
- git push 1>/dev/null 2>&1
- exit 0
如果你需要恢复某个版本,只需要checkout一个远程库版本即可.
git这种分布式的版本管理系统和svn还是有很多差别的,有很多优点的,这个备份使用ssh协议,速度是非常快的,git还有很多优点,希望大家能学习使用一下吧.
ps:为了尽量安全一下,你可以设置.gitignore来屏蔽一些同步目录的,这样你可以在里面将敏感的配置文件屏蔽,并且可以用一个目录来专门存放.
Tags: git自动化备份 git恢复数据
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)