互联网服务 2012 年 8 月 18 日

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

本文介绍了如何在OpenShift应用中开通SSH权限,设置cron任务,并通过Dropbox Uploader脚本实现自动备份网站数据到Dropbox。具体步骤包括在repo目录下创建dropbox文件夹,下载和安装Dropbox Uploader脚本,配置并测试脚本的运行,最后设置cron任务实现自动备份。对于不太熟悉Linux Shell的用户,本文提供了详细的配置步骤,方便参考。
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 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”(不包含引号),阅读时请注意.