Secure storage of my collection of family video is becoming problematic after a dramatic increase in size in the last years. I am using a set of 3 copies of the same collection stored in 2.5 USB thin drives. I know there are safer ways but they are too expensive for me. Every two years I re-do the copies to avoid data loss due to demagnetization. I am scared I could be propagating corrupted bits with each of those copy operations, or simply that time is rendering my files corrupted.

Let's say I have three HDD drives A, B, C, holding identical copies of a collection of files. I would like to do the following, just after the new set of copies has been done:

  1. Store in A a list of md5 checksum files for all the files in A
  2. The same in B and in C
  3. Comparison of the A list with B and C.

It is my hope than any corrupted video file in, e.g. the A drive, will manifest as a checksum for A that is different for those in B and C (of course finding 3 different checksum codes would be sad but I hope that is not the case yet)

Can this be done easily with some command line tools like md5sum+find, or maybe with a software called tripwire I have read some comments about?

1 Answer 1


Here is what I would do :

To get a list of your file, you can use find > files.txt from the drive root. It will create a "files.txt" file.

Then, to get the checksums for each of them, you can use while read line; do shasum -a 256 $line; done < files.txt > checksums.txt. It will create a "checksums.txt" file with all file paths and their checksums.

Finally, you can use diff -y --suppress-common-lines checksums_driveA.txt checksums_driveB.txt to quickly check if there are differences between your checksum files.

Alternatively, you could just use diff -r --brief directory/driveA directory/driveB to know if two directories content are identical.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .