Checking the Integrity of Archived Files and DVDs

I just finished archiving our mini DV tapes to DVDs and an external hard-drive. In the process I found that I couldn’t pull a few minutes of data from one of the DV tapes. The tape was only 3 years old. I started thinking if the DV tapes can’t even hold data for 5 years, how safe are my DVD backups.

I started to calculate the MD5 sums of each video file and burn the hashes on the DVDs along with the video. I found a program named md5summer to automate the process for me. Md5summer will calculate the md5 hashes for every file in a directory, even recursively, and create a text file containing all the hashes. When it comes time to check the integrity of the files, just point md5summer to the directory and open the text file you previously created. Md5 summer will automatically check each file and give you either a red or green light by the file name.

What about checking the integrity of DVD’s I made before I started doing this. On the Ubuntu forums I found my answer. This post shows how to calculate the checksum for and entire DVD. Basically you pipe the output of dd right into md5sumlike this:

dd if=/dev/cdrom |md5sum

This is fine and well if you are on a linux box, but you need to modify the command like this if you want to use it in cygwin.

dd if=/dev/scd0 |md5sum

3bbf32d981ea7af2d0e6190d2f823ddb *-
100508+0 records in
100508+0 records out
51460096 bytes (51 MB) copied, 22.953 s, 2.2 MB/s

What do you do with this hexadecimal number,? Pputting it on the CD is quite problematical because changing the CD changes the md5sum. For now I am writing the resulting sum right on the disk.

Update: It turns out that I get a different checkusm under Linux that I do under Cygwin on Windows.