使用git备份网站

这两天我突然想备份一下网站,总是担心啥时候openshift会挂掉。

一开始我想直接把网站打包下载下来,但是现在我的网络太不争气了,下载只有10K/s的速度了。。。。这得下到什么时候(ーー;)
于是我就想把网站备份到在线服务上去,然后发现了各种备份wordpress的插件巴拉巴拉巴拉。。。。

但是感觉这样每次备份都要把整个网站打包发出去实在太伤身了啊,于是我就想到了用git来备份这个逗逼方法。。இ௰இ,这样只要朝备份服务器push改动的文件就行了,而且这样也方便在网站搬家的时候直接从备份拉取,免了上传下载的烦恼。

那么接下来就开始做吧!

1是设置git服务的教程,已经有了的跳到底下看2

1.首先你得找个可以推备份的地方,我原来是想用github的,但是github这坑爹货的私有空间要付费吖吖吖吖吖吖吖吖吖!备份总不能用公有空间吧,这样数据库密码什么的就都暴露了。

没办法,另外找个提供免费私有git空间的地方吧,于是我找到了bitbucket,现在我正一边写这篇文章一边开始我的备份之旅。

那就现在bitbucket注册个帐号吧,过程还算简单,而且我已经注册好了,所以就不在这里写注册过程了。

然后创建一个Repository,一注册好帐号他就会提示你创建一个Repository,跟着提示走就行了,步骤也很简单,我就不写在这里了。创建好了以后应该会进入以下页面

 

那么现在我已经创建好了一个叫BackUp的Repository,然后我们要配置一下让代码可以传过来。(看不懂的话可以进设置改成中文)

从这里开始到第2大点前的步骤都不是必须的,以下操作只能用来拉取文件而不能上传

点齿轮进入设置

接着就进入了设置页面

点部署key

然后就会进入这个页面

结果出来了个这东西,Lable可以随便起一个,Key按照下面的步骤(Windows懒猪用户)

 

找个puttygen,打开

点Generate,然后用鼠标在这个程序界面上乱移。。直到进度条跑完,得到以下结果(我不会用这个的╮(╯▽╰)╭)

那个框框里被选中的字就是要复制到刚刚那个框里的公钥了,然后把它复制过去,接着添加Key

同时别忘了保存私钥和公钥文件,点分别保存到一个地方,以后会用到。

接着点上面的克隆,里面有git地址,我们也就是要把备份推到这个地址来。

注:由于bitbucket对通过ssh访问git有只读限制,所以以上创建的密钥对只能用来从bitbucket拉回备份或克隆到其他主机上。想要写入的话需要使用https模式

然后就本地测试一下配置是否正确了,在自己电脑上推点东西上去试试(怎么使用git见百度或谷歌)

经检测以上步骤无误,接下来就是重点了(我用我的demo.luojia.me做一下演示)

2.把网站推到备份服务器上

要是问我为什么不直接用自己电脑把网站pull回来备份的话,我只能说:openshift不会把服务器自己创建的文件放进版本管理,而且我也不知道怎么手动把新文件放进版本库,所以只能用这样从openshift推到其他地方的方法了。

随便找个ssh软件登录到自己的openshif(方法见百度或谷歌),进去以后是这个样子

 

ls一下发现有这些东西:app-deployments app-root git mysql php phpmyadmin

我们主要是要把网站推到备份里去,所以就进入我们的主站目录

然后ls一下看看东西是不是都在里面(当然在里面咯)

主要步骤开始了!

配置远端地址,git会把网站推到这个地址

然后用以下命令把所有文件(整个网站)加入版本管理

接着可以用以下命令检查一下是不是都加进版本库了。

屏幕上刷满网站文件就是成功了,接下来我们把网站推到bitbucket达到备份的目的

 

推送

一会儿他会要求你输入密码,就是登录bitbucket的密码(不能用ssh推文件真心不爽)

刷了几行字以后就备份好了(这些大服务器之间的文件传输速度真不是喵的)

提示:

如果push出现问题可以尝试先commit一次,或者pull一次

如果commit出现问题,尝试先add一次文件

如果pull出现问题,根据错误提示尝试使用一次

 

后续备份

以后的备份也都是用以下命令,可以直接把他们放进sh脚本里

忽略文件

通常像wordpress这样的博客框架里面有很多不用备份的东西,比如临时文件,博客基本代码(当然备份也无大碍,只是文件会略多)这时可以写个忽略文件”.gitignore”告诉git哪些目录或文件不要加入版本管理,这样用

的时候就不会把没用的文件加进备份了,格式如下

 

移除文件

使用

来移除文件,千万不要用

(没有–cached参数)来移除文件,这样会把文件删掉(导致我写这篇文章的时候把演示站删了。。。)

__________________________________________________________
最后我用博客做了一次实际测试,备份过程只有5秒整个网站就到bitbucket去了இ௰இ,什么时候我能用上24M/s的网呢( •̥́ ˍ •̀ू )

 

 

注意:请给.git文件夹设置适当的权限,否则人家可以下载到你的整站源码

权限建议:把.git文件夹

当然如果你没有root权限,可以设置成其他的组。





如文中无特殊说明,本站均使用以下协议:知识共享许可协议
知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

本博客使用Disqus评论系统,如果看不到评论框,请尝试爬墙。