基于ownCloud的家庭备份解决方案

在公有云存储如此普及的今天,为什么还要自己搭建备份服务呢?首先,免费空间有限,通常在5GB上下;更重要的是,一些涉及隐私的文件,如银行账单和证件复印件等等,不适合直接存放在公有云存储服务上。而在自己家里部署ownCloud服务器,配合手机客户端(我使用Cirrus for ownCloud,可以设置应用密码)、Linux客户端、Mac客户端,以及Windows客户端,构成了一个类似Dropbox的家庭备份方案,只要把文件放在ownCloud文件夹里面,就会自动同步到服务器。既不用担心空间限制,也无需顾虑泄漏隐私。在此基础上,可以在服务器端做进一步远程备份到公有云存储,并适当加密,既实现了安全备份,又做到了自动化。

搭建ownCloud其实很简单,有现成的docker容器可以用,不嫌麻烦也可以直接安装配置。

我的定制稍微复杂一些。去年黑色星期五花费$150买了QNAP TS-231+文件服务器,装上两块西数3TB红盘,配置成RAID 1。QNAP系统内置ownCloud服务器,但是版本稍旧,为了使用最新版本,只好自己安装docker容器。QNAP系统内置Container Station,可以直接下载安装DockerHub里面的容器,问题是TS-231+是ARM平台,没有现成的容器可用,于是自己做了一个armhf-owncloud

armhf-owncloud默认安装了自签名的SSL证书,支持HTTPS访问,所以在配置端口映射时除了默认的80端口,不要忘记映射更重要的443加密端口,以便在公网通过myQNAPcloud安全访问隐私文件。

配置data volume可以将备份到ownCloud容器里的文件暴露给QNAP系统,以便实现远程备份。QNAP有内置Hybrid Backup,可以备份文件到各种云存储,包括Amazon Cloud Drive,Dropbox,OneDrive和Google Drive等等,而且支持加密备份。我的QNAP Hybrid Backup有两个任务,一个加密备份ownCloud里涉及隐私的文件夹,另一个明文备份剩余文件夹。

Hybrid Backup的加密设置不够直观,我录制了一段视频演示其过程,仅供参考。

有了这个方案,备份变得很简单,只要把文件存放在适当的文件夹即可,ownCloud客户端就会自动同步文件到家里的ownCloud服务器,然后,QNAP Hybrid Backup又会把文件备份到公有云存储。另外日历上创建一个每月一次的文件清理任务,以便抓住漏网之鱼。

这个方案也有一些小问题,首先,加密文件的文件名还是明文的。其次,使用非标准端口可能会被防火墙拦截。家里的宽带猫上开通了端口转发,公司里就没有办法,好几次以为是配置出了问题,文件怎么找不到,后来才想明白是端口被屏蔽了,只好使用移动网络。

尽管有着这样那些的瑕疵,在踏入IT行业的第十四个年头,我终于有了一套备份方案。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据