自动备份OpenShift数据到Dropbox(1)—Dropbox Uploader的配置
OpenShift开通了SSH权限,并且用户可以设置cron任务,通过一定的配置我们可以让OpenShift自动备份网站数据(数据库,文件等)到Dropbox. 本文包含详细的配置步骤,供不太熟悉Linux Shell 的用户参考。
开始之前当然是申请OpenShift和Dropbox账户,并创建一个OpenShift 应用。假设这个步骤已经完成,我们就可以开始了。
SSH登录OpenShift应用,并依次输入以下命令在repo目录下创建一个文件夹dropbox,我们将在这里放置Dropbox 应用。
1 | 请将{appname}换成你的app名称,比如我的app名称是apps,那就是 cd apps |
我们将在这个目录下放置Dropbox上传程序,由于Dropbox官方的客户端需要图形界面来运行设置向导,不能在OpenShift使用,我们使用另一个脚本来实现Dropbox的上传和下载功能,这个脚本叫Dropbox Uploader. 这个脚本实现了Dropbox的上传、下载、列表等功能,使用非常简单。关于Dropbox Uploader的详细介绍可以点这里.
首先下载Dropbox Uploader,为了方便,我已经上传到我的博客,用wget或curl下载wget andreafabrizi-Dropbox-Uploader-95aa777.tar.gz
下载完成后解压并删除无关文件:
1 | tar xvf andreafabrizi-Dropbox-Uploader-95aa777.tar.gz |
在运行dropbox uploader 之前,我们还需要更改一下dropbox uploader的配置,因为dropbox uploader的配置文件默认写在你的home目录,这个文件夹对用户是不可写的,这样就导致dropbox uploader的配置不能保存. 我们将这个配置的存储地点改到dropbox uploader同一个文件夹,也就是“~/{appname}/repo/dropbox”(~指你的Home文件夹)文件夹,文件名随便,我用的是dropbox_uploader_cfg.
注:这里我们使用vi编辑器进行编辑,如果你没用过vi,可以参考下面的步骤:
1 | 打开文件 |
这时候可以执行dropbox_uploader.sh进入设置向导:
1 | ./dropbox_uploader.sh |
用你电脑的浏览器打开https://www2.dropbox.com/developers/apps(注意https,小心撞墙!)创建一个APP,然后将Dropbox提供的App key 和App secrect填写到dropbox uploader的指定输入位置。如果输入无误的话,Dropbox uploader会给你一个网址,用你电脑的浏览器访问这个网址就完成验证了。
不出意外的话配置已经成功了,再次运行dropbox uploader将提示你基本用法。
dropbox uploader目前的版本(v0.9.5)支持6条命令(还有一条命令list不在上图的命令列表):upload, download, delete, info, unlink和list。
upload上传演示(由于dropbox的API限制,文件不能大于150M):
download下载演示(注意文件如果含有空格必须加上引号,不然dropbox uploader会当成多个文件对待):
info用户信息演示;
list文件列表演示:
Dropbox uploader配置完成之后,备份OpenShift的数据备份就很方便了,只需要将数据库和所有文件打个包,一条命令就上传完成了,通过添加cron任务还可以实现定时自动备份;如果要还原的话也很简单,从Drobox下载备份的压缩包,解压到指定位置即可。
2013-06-24更新: 由于OpenShift对app路径做出细微调整,所以图”config file path”中的路径名改为: “~/app-root/repo/dropbox/dropbox_uploader_cfg”(不包含引号),阅读时请注意.
自动备份OpenShift数据到Dropbox(1)—Dropbox Uploader的配置
https://www.shuyz.com/posts/auto-backup-openshift-to-dropbox-1/