求支持校验MD5的备份软件

Q:

求助阿虚同学【有没有支持校验备份文件有效性备份软件】

情景:4T左右各种类型的文件,备份到NAS中
需求:因为硬盘可能出现静默错误,所以希望备份软件可以校验NAS中的备份文件是否处于有效状态。

比如,我的原硬盘坏了,我想在NAS的备份中导出数据,但是我想知道导出的这些数据的校验值(MD5之类的)是否正确。

换而言之,有没有备份的时候记录校验值(MD5)的备份软件。其实大部分压缩软件是这样的,但是压缩软件做备份还是不够方便。

A:GoodSync支持MD5 校验和比较文件:https://www.goodsync.com/cn

Q:这个只是校验传输后的md5校验,我想排除硬盘防止几年后是否发生静默错误,比如通过sfv文件

群友B:几年后静默错误就只能是双盘互相备份,别的没好办法

Q:几年后,我拿出备份盘,怎样知道那些文件是正常的,哪些是损坏的呢?目前,rar压缩和snapraid是可以实现这个排查,但是这两个又不足够方便,我想问有没有软件可以自动增量生成sfv文件,而且可以方便的一键批量校验

A:这里有一个批量检测文件一致性(基于MD5)的小工具:http://www.tsweirui.com/archives/18

Q:这个软件不行,他必须把备份和原盘进行对比,如果原盘没了,也就不知道有没有文件损坏了。必须要在备份盘记录crc才行

A:😅你不双重备份那校验这个有什么意义,文件要是损坏了反正也找不回来了

Q:

是1对1备份的,知道损坏了就可以有目的性的去找。

否则,即使备份2份,如果md5不一致,也不知道哪个备份是不顺坏的。

以前有个软件,叫做Filecheckmd5,可以批量生成md5,批量校验,但是软件比较简陋,而且不支持增量添加。

虚大大可否研究研究这个问题,如果我没表达清楚,可以一起探讨

A:说白了你这都算不上备份了,根本就是文件扔到移动硬盘,然后你就是需要一个MD5检验工具而已,估计HashCheck就能满足你的需求了:https://bbs.pcbeta.com/viewthread-1868393-1-1.html

Q:
移动硬盘里面的这个份文件是备份文件,我希望:
1.当原盘损坏之后,通过移动硬盘恢复的时候,知道哪些文件是完美恢复的,哪些文件是已经无法恢复了(备份盘出现了静默错误)
2.我希望能够不定时对备份盘做个巡检,查看备份盘的文件是否还健康。

如果有备份软件,可以自动搞定这件事,那自然是更好了,如果没有,就只能使用支持批量的CRC定期校验,显然这样比较麻烦。。。

如果没有离线的CRC文件,那么一旦发生静默错误,很难知道是原盘发生了静默错误,还是备份盘出现了静默错误

群友C:我觉得你找那些公司吧,看看那些公司能不能给你一个方案
 ∟Q:这种软件不复杂,我用批处理也能写,但是希望有现成的,更专业的。批处理 调用fastcopy做同步,然后调用hash软件做数据库,然后定期巡检,但是肯定效率不够高
 ∟群友C:所以我说问问公司有没有方案
 ∟Q:那岂不是要花钱,哈哈哈哈哈,不然人家拿里理会个人

Q:

我研究了一下,filecheckmd5的作者写过另外一款软件,叫做EXACTFILE,可以实现这方面的功能,但还是不支持 CRC数据库的增量添加

总之,我更希望有一款备份软件,一是可以实时备份,二是可以定期对备份库进行巡检,比如建立CRC数据库,定期校验

EXACTFILE有个命令行的版本叫做exf

A:上面说的GoodSync加个HashCheck不就行了,GoodSync做定期同步,MD5一致就根本不会同步,不一致的就知道哪些损坏了。要是源文件没了,用HashCheck做下MD5校验就完了

虽然在我看来你这么折腾毫无意义。。。多个云盘备份或者这么担心数据问题就上个NAS,哪用得了这么麻烦,3处数据都同时损坏的概率小的可怜

群友B:热备份×1、冷备份×1、异地备份×1(没条件可以用云备份替代异地备份),每个备份都是双盘互拷,哪有那么复杂,缺点是价格贵到离谱😂

A:就一个硬盘+云盘备份对多数人来说都足够了,有些云盘的稳定性可能比你的硬盘还稳。。。

群友B:是,商业云盘都是双盘互拷,尤其是onedrive那种,给你一个1你就要占用2个T的空间

A:

而且你这都说了,几年后再拿出来。。。一个几年才会用到一次的数据,你管他到时候校验的操作麻不麻烦呢。。。你又不是天天拿出来校验

我看你说的你其实是有能解决的方案的,就是麻烦了点。不过我觉得你还是再实际考虑考虑需求的必要性吧,你找了半天都没找到合适的软件,其实反向就证明了你的需求没有商业价值。。。

Q:

举个例子:假设原盘是S盘(Source),两个NAS同时做备份容灾,假设分别为B1、B2

如果S盘坏了,但是B1和B2的文件校验不一致,也就是B1或B2至少有一个盘出现了静默错误,那么就不知道用该用B1,还是B2

如果每次都分别在B1和B2上做全盘的校验,那是很麻烦的事情,毕竟备份一般都是自动同步,无人值守。

在举个例子:假设原盘是S盘(Source),1个NAS同时做备份容灾,假设为B

S坏了,如果有CRC数据库,我就可以知道B上的数据是否完整,如果不完整,提早补救。

A:上面都给你推荐了HashCheck去生成sfv文件啊,备份之前连着sfv备份一份不就完了。需要备份数据前,校验一遍不就轻松知道文件有没有损坏了。。再说了你这也完全属于瞎操心,就算你B1的备份数据也坏了,你就取B2的数据啊😅

Q:

对呀,HASHCHECK是可以通过SFV搞定,但是这样很麻烦。

我想了解有没有备份软件,支持自动生成离线的CRC,以便于恢复的时候了解是否完全恢复了。

如果B1和B2不一致,你不知道是B1坏了,还是B2坏了,在linux上,可以通过文件系统搞定,LINUX的文件系统支持CRC校验

刚才举了两个例子,都可以看得出来,这个是有用的

备份一般是后台无人值守的,如果 备份软件自动支持生成SFV就好了。。

目前有几个方案:
1.使用WINRAR做备份,一是支持添加冗余,二是支持CRC校验,缺点是太慢,不支持增量,4T文件不可能每次都重新做个压缩包,所以PASS
2.使用snapraid,支持CRC,缺点是不支持网络备份,还有一些小BUG
3.使用同步软件备份,然后做SFV,这个方案还可以

我这个需求应该不是个例,具体可以见我以上的两个例子

A:

我上面发的RapidCRC 既支持把CRC校验写入文件名中,也支持创建SFV、MD5,文件,也支持文件校验,用这个随便再加个文件同步备份软件,我反正觉得是能解决你的问题了

Q:嗯嗯,感谢虚大大

A:或者你可以考虑用 Multipar 来创建来数据恢复块(类似于WinRAR),在避免数据损坏、解决问题的本质上其实是一样的:https://zhuanlan.zhihu.com/p/37189952

A:还有一个命令行工具RHash,可能也能满足你的需求(选择一个分区,能计算所有文件的 SHA-1 或 MD5 校验值,文件路径和校验值可以保存到一个纯文本文件中,还能增量存储文件校验值):https://www.v2ex.com/t/835863

Q:感谢虚大大,我去试试