前言

上周周围有2人数据丢失想要恢复数据,我写过《就把备份做好有多难》,我也一直在强调备份。然后我自己的一个硬盘这周也存在异响,偶尔还出现启动后无法识别的问题,赶紧换了个新盘,虽然我自己是有备份的,但是如果真的悲剧,备份间隔之间的数据就丢失了。如果是恢复的话,有可能恢复出半截文件或者目录结构丢失,也是挺麻烦的,所以尽量提前备份,不要去恢复数据。

如果数据没有备份,可以认为这个数据是不存在的。

如果数据没有备份,可以认为这个数据是不存在的。

如果数据没有备份,可以认为这个数据是不存在的。

最好是有在线备份,然后还有个离线备份,分布在不同的物理区域。SSD由于自身特性问题,SSD作为离线备份硬盘不通电是会丢失数据的,当然应该也没有壕会用SSD做离线备份。

使用场景

这里提到的2个软件只解决目录同步到远程或者备份到离线硬盘,没有或只有简单的版本控制,非常的轻量级,非常得专一。

FreeFileSync我用在离线备份,定期接上移动硬盘,打开同步方案,同步一下。

Syncthing我用在在线远程备份。

商业软件Acronis True Image也很好用,群辉也不错,其他免费的也可以说出一堆,比如Nextcloud、ownCloud、Seafile、SparkleShare、Bacula等等,甚至还有Perkeep想要为你一辈子的数据负责。但是配置比较麻烦,功能很复杂,这里不提了。

软件具体使用方法这里也不提了,可以看官方教程。

FreeFileSync

FreeFileSync可以保持2个文件夹同步,支持本地文件夹、网上邻居、FTP。文件比较根据文件更新时间、大小(1T几分钟就可以检查完)或者内容(很慢,没试过)比较。可以后台自动同步。带简单的版本管理。可以建立配置文件,保存多个同步方案。使用非常简单,选择2个目录,检查不同,同步即可。

所以FreeFileSync就是一个copy的功能,你可以认为他就是一个增强型的copy。为什么不用copy?拷贝黏贴也很简单,但是对于大量文件拷贝黏贴不靠谱,无法断点续传,遇到锁定文件可能出错。拷贝黏贴只适合小量文件,习惯好的人一般会拷贝完检查一下源和目的文件夹的文件数量和大小。

Syncthing

Syncthing也是同步2个文件夹的,类似私有云的Dropbox,支持多台客户端实时双向同步,但是他不支持本地文件夹,只支持远程。使用Go语言编写,绿色软件,下载后打开会打开一个浏览器页面,在里面做文件夹同步的配置。只支持Android不支持iOS。

跟rsync的比较,rsync也是比较简单的,只传输有变化的量,我没去研究rsync具体实现机制,Syncthing会对文件做分块SHA-256 hash,类似BT协议,相同的block只传输一次。也就是如果你有2个文件很大一模一样只是文件名不同,实际上在网络上可能只会传输一次。如果你对一个大文件改名,运气好的话可能其他同步的客户端也不需要传输数据。而且基于BT协议,多个客户端之间可以互相传输加快传输速度。

传输过程是AES-128加密的,比网上邻居SMB(老版本的)、rsync(不走SSH)、FTP(非SFTP)安全一点,中间可以经过开放的relay服务器也不担心数据泄露。

配置简单,你可以依赖全局的一个dynamic发现服务器,也很安全,发现服务器只会知道你的IP地址,认证还是根据各个服务器自己的私钥。新增加一个同步客户端只要提交一串SHA-256的Device ID即可。

端口可自定义,不依赖网上邻居等有较大风险的端口。

其他

关于照片的备份我今后还会单独再写一个。因为照片可以压缩,把照片分辨率从4032宽压缩到1024,视频文件间隔抽帧保存成图片,1T可能只要一个十几G的U盘就可以备份下来。