寻找一种基于校验和的穷人解决方案,以对抗家庭视频文件长期存储中的静默数据损坏

寻找一种基于校验和的穷人解决方案,以对抗家庭视频文件长期存储中的静默数据损坏

在过去几年中,我收集的家庭视频的大小急剧增加,安全存储变得越来越成问题。我正在使用存储在 2.5 USB 精简驱动器中的同一集合的 3 个副本。我知道有更安全的方法,但对我来说太贵了。每两年我都会重新制作副本,以避免因消磁而丢失数据。我担心我可能会通过每个复制操作传播损坏的位,或者只是时间使我的文件损坏。

假设我有三个 HDD 驱动器 A、B、C,保存一组文件的相同副本。在完成新的一组副本后,我想执行以下操作:

  1. 在 A 中存储 A 中所有文件的 md5 校验和文件列表
  2. B 和 C 中相同
  3. A 列表与 B 和 C 列表的比较。

我希望,例如 A 驱动器中的任何损坏的视频文件,都将表现为 A 的校验和与 B 和 C 中的校验和不同(当然,找到 3 个不同的校验和代码会令人难过,但我希望这不是案例尚未)

可以使用一些命令行工具(例如 md5sum+find)轻松完成此操作,或者使用我读过一些评论的名为 tripwire 的软件吗?

答案1

这就是我要做的:

要获取文件列表,您可以find > files.txt从驱动器根目录使用。它将创建一个“files.txt”文件。

然后,要获取每个文件的校验和,您可以使用while read line; do shasum -a 256 $line; done < files.txt > checksums.txt.它将创建一个包含所有文件路径及其校验和的“checksums.txt”文件。

最后,您可以用来diff -y --suppress-common-lines checksums_driveA.txt checksums_driveB.txt快速检查校验和文件之间是否存在差异。

或者,您可以只用来diff -r --brief directory/driveA directory/driveB了解两个目录内容是否相同。

相关内容