今年才知道,每年 3 月 31 日被定位「世界备份日」,倡议大家对自己的数据进行备份。几年前总结过一篇文章,详细记录了自己的各种数据的备份办法: 建立个人电子资料备份系统。 现在看当时采用的办法太过繁复,不够自动化,导致没有坚持用。
很长一段时间,对重要数据的备份仅通过复制粘贴到移动硬盘,没做多余备份。被提倡的「3-2-1 备份」策略,能够充分保护数据,但实施起来至少有下面几个麻烦要解决:
关于数据备份 ,参考他人经验,经过一段时间摸索,形成以下初步的方案。
适合用于数据备份的云盘,需同时具备以下条件:
目前潜在能用于备份的国产云盘主要有:百度网盘、阿里云盘、坚果云。但没有一个能同时满足以上 6 个条件。况且对云盘存储数据的安全性存疑,所以目前的备份办法完全建立在本地硬盘上。
对于非 IT 专业人士,可以备份的数据起码具备两个条件:
数据按照产生数据的软件是否自带云端存储分类:
对于第 1 类,微信、QQ、映象笔记这类软件,产生的用户数据都是专有格式的,需要用软件导入导出,无法直接拷贝磁盘上的用户目录进行备份。这类软件自带云端存储,分两种情况:一种是微信、QQ 这类,一段时间之前的聊天记录无法从云端恢复,或者需要付费才行,因此需要定期手动导出聊天记录文件,再备份;另一种像映象笔记,云端存储相当于一个备份,这类软件数据就不考虑额外备份。
第 2、3 类,仅存在于本地磁盘中,并且容易找到,因此可以进行备份。
数据按照产生数据的硬件分类:电脑上的、手机上的、相机上的。
本人常用电脑两台,分别放在办公室和家里。常用手机一部、相机一台。电脑内置硬盘、移动硬盘的容量要比手机大的多,所以手机和相机的数据都转移到电脑,然后进行备份。
手机 APP 生成的数据,大多是专有格式,很难在内部存储中找到,备份只能依靠 APP 本身的云存储。手机里生成的照片、视频、文档类的数据,APP 导出的聊天记录、短信、联系人等,定期导入电脑进行备份。
由于不使用云盘备份,增加了手机数据备份的复杂度,算是牺牲部分便利,换取隐私安全。
云盘除了存储功能,还可实现跨设备同步。不采用云盘,同步功能用 Syncthing 实现。
Syncthing 是开源的分布式跨设备同步工具,无需第三方服务器,点对点传输,数据全在自己的设备上,安全性很高。缺点是只当两台设备同时运行,才能实现数据同步。因此需要有台 24 小时联网的设备作为传输中介。
我自己需要同步的文件一般是频繁修改的项目文档,存储量不大,十几 GB 足够。考虑存储容量和不关机,手机就是最合适的传输中介 。
FreeFileSync 是开源的文件同步工具,实现同一硬盘或不同硬盘上目录与目录之间的文件同步,具有增量备份功能,同步前会先比较两个目录,只同步有变化的文件而不是整个目录。自带的 RealTimeSync 程序可监控目录变化实现及时同步。
Cryptomator 是开源的加密工具,以一个目录 A 作为加密库生成一个虚拟磁盘,将需要加密的目录 B 放进虚拟磁盘中,目录 B 的每个文件都被加密生成一个文件名乱码的特殊类型文件,并保持目录结构存放在目录 A 中。虚拟磁盘和目录 A 中的文件变化是双向实时同步的,在不同设备间同步目录 A,则可实现虚拟磁盘中目录 B 的跨设备同步。
以上工具配合如下:
这么一来,「3-2-1 备份」流向大致见下图:
不是所有可以备份的数据,都真得需要备份。也不是所有需要备份的数据,都适合采用「3-2-1 备份」策略。
数据备份的目的,在于避免丢失后找不回来。电子数据一大优点是接近零的复制成本。一份数据如果从你的硬盘上丢失 ,却可以很容易通过网络下载、向他人索取得到,就不能算数据没有了 。某种意义上,网络就是个大型分布式存储系统。
重要数据备份在 U 盘里,U 盘丢了,算是一次损失。如果 U 盘里的数据被别有用心的人看到并利用,可能产生更为严重的二次损失。
将可以备份的数据,按照「个人安全性」和「易得性」两个属性分类。
个人数据安全无非防丢失、防坏人。防丢失,就多几份拷贝,用冗余备份减少丢失概率。防坏人,就给数据加个密,其他人就算得到数据也看不懂。
「3-2-1 备份」就是一种冗余备份策略。保持数据有 3 份拷贝,至少存储在 2 种不同介质中,其中至少 1 个拷贝放置在不同的地理位置。比如公司电脑一份,移动硬盘一份,家中电脑一份。
3 份拷贝同时丢失的概率为每份拷贝丢失概率之积,假设每份丢失概率为百分之一,3 份同时丢失概率就低至百万分之一。
一份拷贝丢失的原因分两种:存储介质自身故障、外部因素。
采用至少 2 种不同存储介质,可以避免同一种介质的故障率发生在 3 份拷贝上,还能降低同时故障的概率。
造成拷贝丢失的外部因素,可能是火灾、地震、电涌、塌房、人为损坏、战争等等。为避免这些外部因素,可以把一份拷贝放在远离其他拷贝的地方。这样做其实出于容灾考虑。下面开个脑洞 。
可见对于 1 份异地拷贝,在保证容易获取的前提下,地理距离越远越好。
「3-2-1 备份」可以防止数据丢失。而要防坏人看到个人安全相关的数据,那就加个密。
从「备份数量」和「备份加密」两个维度制定备份策略。
可见每种备份策略下还有不少具体选项,需要根据个人情况选择,比如已有的硬件设备、办公条件、通勤距离、办公地点是否固定、购置备份设备的费用预算等。
由于不打算采用云盘,手头上有几块移动硬盘,居住地到公司跨两个区,所以采取将 3 份拷贝分别放在办公电脑内置硬盘、家用电脑内置硬盘、移动硬盘上,同时满足 2 种存储介质和 1 份异地存储。
加密主要采用 Cryptomator,能配合实现增量备份,避免每次备份都把所有文件拷贝一遍。但有些数据不适合 Cryptomator 加密,比如 Cryptomator 加密库的密码恢复密钥,就采用压缩包加密。
简化下我的备份策略如下:
按照数据分类中「个人安全」和「易得」两个属性组织存储结构,每个维度有两个属性,正交产生 4 个目录。不同目录只存储对应属性的文件。
每个磁盘分区都可建立以上四个目录,但只能存放可以备份的数据,按照目录属性分门别类存放。比如目录 1 中,只存放那些不容易获取的,并且与自身安全及隐私相关的资料,类似银行卡照片、身份证照片、帐号密码等。
考虑有需要在两台电脑之间同步的文件,因此在某块容量较大的磁盘上,另建立两个目录用于同步。
同步目录中的文件虽然同时存在于两台电脑上,但不作为备份用,需要视情况转移至四个目录中,从而纳入到备份系统。否则时间一长,同步目录中文件会非常混乱。
另外再给 4 个目录中的文件,按照是否需要两台电脑同步进行分类。没必要把目录下所有需要同步的文件放在一个子目录中,可以多个子目录用于同步,但也不要太多,否则 Syncthng 的初始设置会很繁琐,管理起来也不清晰。
「易得」属性决定「备份数量」:「不易得」采用「3-2-1 备份」,「易得」采用「1 个备份」或者「不备份」。
「个人安全」属性决定「备份加密」:「个人安全相关」采用「加密」,「个人安全无关」采用「不加密」。
按照以上原则,结合自身情况,我的数据备份方案如下:
为了重建备份系统,大概干了以下几件事,按先后顺序。
以上步骤看起来繁琐,但只要存储结构组织好,用软件只在初次配制麻烦点,之后就能自动备份,要坚持的就是四种操作:
本文作者:tsingk
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!