讲讲我的故事:
2019年左右时,我的数据(包括各种生活、工作数据以及所有科研项目的原始数据)保存在Surface里。当时我很喜欢Surface,因为轻薄便携,适合拿着走来走去,这也增加了摔坏的风险。有一天带着Surface骑车摔在地上,啪的一声,机器无法启动了。我当时想着,只要硬盘没摔坏,把硬盘里的数据提前出来不就好了?结果一问才知道,Surface默认开启Bitlocker,除非成功进入系统,否则谁都别想把数据取出来。
所幸那次最后机器成功修好(印象中是换了个主板),数据没丢。
这件事让我心有余悸:单一设备存储、Bitlocker、硬盘无分区,集齐了所有容易导致数据丢失的要素。是在这件事后,开始关注备份的。
后来,又遇到了好几次不同程度的数据丢失事件。我本来在HPC服务器上配置了一个Nextcloud,将笔记本上的数据实时备份过去;结果遇到HPC服务器的机械硬盘(希捷企业级)使用多年后出现故障,Ubuntu系统无法进入,也无法通过自带的命令修复,只好带去中关村化了900元找人恢复出来。服务器里的机械硬盘是损坏率最高的硬件之一(另一个是电源),每隔几年就会坏一次;即使配置了RAID,也只是降低了整体损坏的概率,不能确保安全。因此,我随后得到了教训:不要以为企业级硬盘就比笔记本里的固态硬盘安全;重要数据可以放在服务器上,但一定要多放几个地方。
去年开始,使用Win11的笔记本频繁出现故障,每次都是在自动更新后无法启动,每次都要重装系统。虽然我已经做好准备,大部分数据都放在D盘,每次重装系统还是让人很担心是否有桌面、文档、下载等位置的遗漏。好巧不巧,意外总是发生在没有做好充分准备的时候:我利用一个闲置的台式机(花200元捡垃圾搭成,再配一块企业级机械硬盘)使用SyncTrayzor进行实时增量备份,而去年夏天故障频发时这台台式机正好忘记开。这是一个深刻的教训,以后再也不敢了。
现在,我的备份习惯主要是基于SyncTrayzor+台式机;除此之外还很有必要定期在一块移动硬盘上进行手动备份,以及定期将数据传送到网盘或云服务上。以下介绍一下使用SyncTrayzor进行备份的方法。
SyncTrayzor(https://github.com/canton7/SyncTrayzor)是基于Syncthing开发的一个GUI程序。我们也可以直接安装Syncthing,它的GUI管理是基于浏览器进行的,运行后会弹出一个浏览器页面和一个命令行窗口,操作方法非常相似,唯独要注意不要不小心把命令行窗口关掉。
SyncTrayzor可以用于多端数据的同步,不限于一对一,不依赖局域网,数据传输可以双向进行。不过在本文谈论的应用场合中,我们主要是希望数据从日常使用的机器上备份到一个固定的、平时不使用的机器上。在下文中,这两台机器分别叫做客户端和服务器端。

在客户端和服务器端都安装并启动SyncTrayzor。首先要在双方分别添加对方作为远程设备。在任意一个设备中点击“标识”后面的链接(上图中是FKHZX5Q),会弹出一个带有二维码的窗口,顶部有一个很长的设备ID。复制后,其他设备可以凭借这个ID进行连接。在其他设备中点击“添加远程设备”,输入设备ID,备注一个你喜欢的名字;随后在对方设备上,会弹出窗口,询问是否确认添加。点击确认后,两方就建立了双向奔赴,可以共享数据了。例如在上图中,我在笔记本上添加了一个远程设备叫做Backup Center。
在客户端的界面左侧点击“添加文件夹”,选择你希望备份的目录,并且可以设置文件夹标签(任意设置的描述性字符)、文件夹ID(唯一对应,用于设备间同步时的匹配,可以采用系统自动生成的)。


在“共享”中,选择你要共享的设备,这里选中Backup Center。

由于我通常不会使用Backup Center,也希望避免处于各种原因在Backup Center上意外乱动导致笔记本上的数据也受到干扰,在“高级”里将这个文件夹设置为“仅发送”。

以上的设置属于防丢不防删:如果笔记本意外打不开了,可以去Backup Center上把数据找回来;但如果不小心修改或删除了有用的东西,双方就都会被同步修改。为了解决这个问题,可以使用“文件版本控制”。SyncTrayzor提供了无版本控制、回收站版本控制、简单版本控制、阶段版本控制等选项。如果选择了回收站版本控制,在客户端删除的文件不会在服务器端被同步删除,而是会被移动到特定的目录去;如果选择简单版本控制,每个文件会在服务器端备份最近的N个版本,N可以自由设定;如果选择阶段版本控制,服务器端会保留一定时间内的各个版本。
设置完成后,点击保存。在服务器端会同步弹出对话框,询问是否接收来自客户端的文件。点击确定后,双方就开始传输了。
SyncTrayzor使用增量备份机制,每次修改后只有修改部分会被同步,因此除了第一次开启时同步全部数据外,不太会占用网络带宽。平时它在后台运行并设置为启动项,可以在不知不觉间实现备份功能。如果服务器端掉线,打开界面后在“远程设备”里也会提示“已离线”、甚至是“不常见的设备”,这时就要注意检查服务器端的状态了。
除了电子数据备份外,纸质版实验记录也要格外注意备份,否则一旦泡水、丢失,损失很大。我上大学时就遇到过实验室着火的事情,实验记录本付之一炬。因此,这些纸质版数据也要定期扫描成电子版并归档、按照电子数据的方法进行备份。