自动备份OpenShift数据到Dropbox(1)—Dropbox Uploader的配置

OpenShift开通了SSH权限,并且用户可以设置cron任务,通过一定的配置我们可以让OpenShift自动备份网站数据(数据库,文件等)到Dropbox. 本文包含详细的配置步骤,供不太熟悉Linux Shell 的用户参考。

开始之前当然是申请OpenShift和Dropbox账户,并创建一个OpenShift 应用。假设这个步骤已经完成,我们就可以开始了。

SSH登录OpenShift应用,并依次输入以下命令在repo目录下创建一个文件夹dropbox,我们将在这里放置Dropbox 应用。

#请将{appname}换成你的app名称,比如我的app名称是apps,那就是 cd apps 
cd {appname}  
cd repo  
mkdir dropbox  
cd dropbox  

make dropbox directory

我们将在这个目录下放置Dropbox上传程序,由于Dropbox官方的客户端需要图形界面来运行设置向导,不能在OpenShift使用,我们使用另一个脚本来实现Dropbox的上传和下载功能,这个脚本叫Dropbox Uploader. 这个脚本实现了Dropbox的上传、下载、列表等功能,使用非常简单。关于Dropbox Uploader的详细介绍可以点这里.

首先下载Dropbox Uploader,为了方便,我已经上传到我的博客,用wget或curl下载:

wget http://uploads.shuyz.com/2012/08/andreafabrizi-Dropbox-Uploader-95aa777.tar.gz

wget Dropbox Uploader tarball

下载完成后解压并删除无关文件:

tar xvf andreafabrizi-Dropbox-Uploader-95aa777.tar.gz  
#将解压后的文件夹内容移动到当前目录  
mv andreafabrizi-Dropbox-Uploader-95aa777/* .  
#移除压缩文件  
rm andreafabrizi-Dropbox-Uploader-95aa777.tar.gz  
#移除压缩文件夹  
rm -rf andreafabrizi-Dropbox-Uploader-95aa777  
#查看当前文件夹下的文件  
ls  

tarball unzip and rm

给dropbox_uploader.sh加上执行权限:

chmod +x dropbox_uploader.sh  

chmod

在运行dropbox uploader 之前,我们还需要更改一下dropbox uploader的配置,因为dropbox uploader的配置文件默认写在你的home目录,这个文件夹对用户是不可写的,这样就导致dropbox uploader的配置不能保存. 我们将这个配置的存储地点改到dropbox uploader同一个文件夹,也就是“~/{appname}/repo/dropbox”(~指你的Home文件夹)文件夹,文件名随便,我用的是dropbox_uploader_cfg.

注:这里我们使用vi编辑器进行编辑,如果你没用过vi,可以参考下面的步骤:

#打开文件  
vi dropbox_uploader.sh  
#打开文件后进入命令模式,光标到需要修改的地方,按i键进入插入模式;  
#你可以像使用windows记事本一样修改这个文件(不要用鼠标...),修改以下配置文件的存放地点;  
#修改完成后,按一次(或多次)ESC键进入命令模式,输入":wq"命令保存并退出,参考下面两张图片.  

edit config file

config file path

这时候可以执行dropbox_uploader.sh进入设置向导:

./dropbox_uploader.sh  

dropbox uploader setup wizard

用你电脑的浏览器打开https://www2.dropbox.com/developers/apps(注意https,小心撞墙!)创建一个APP,然后将Dropbox提供的App key 和App secrect填写到dropbox uploader的指定输入位置。如果输入无误的话,Dropbox uploader会给你一个网址,用你电脑的浏览器访问这个网址就完成验证了。

api form

app key

input key2

auth OK

setup complete

不出意外的话配置已经成功了,再次运行dropbox uploader将提示你基本用法。

dropbox uploader usage

dropbox uploader目前的版本(v0.9.5)支持6条命令(还有一条命令list不在上图的命令列表):upload, download, delete, info, unlink和list。

upload上传演示(由于dropbox的API限制,文件不能大于150M):

upload test

file in dropbox

download下载演示(注意文件如果含有空格必须加上引号,不然dropbox uploader会当成多个文件对待):

download test

info用户信息演示;

info test

list文件列表演示:

list test

Dropbox uploader配置完成之后,备份OpenShift的数据备份就很方便了,只需要将数据库和所有文件打个包,一条命令就上传完成了,通过添加cron任务还可以实现定时自动备份;如果要还原的话也很简单,从Drobox下载备份的压缩包,解压到指定位置即可。

2013-06-24更新: 由于OpenShift对app路径做出细微调整,所以图"config file path"中的路径名改为: "~/app-root/repo/dropbox/dropbox_uploader_cfg"(不包含引号),阅读时请注意.

关键字:备份, OpenShift, PaaS, dropbox, cron

本文链接:树叶的BLOG >> 自动备份OpenShift数据到Dropbox(1)—Dropbox Uploader的配置

本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可。

上一篇 : 获取OpenShift访客的真实IP 下一篇 : 自动备份OpenShift数据到Dropbox(2)—自动备份脚本和cron任务的设置