Data loss is probably the single most traumatic experience possible for those that store their data electronically. In recent years, I have had the good fortune to be spared of this event, touch wood, but I will be forever mourning the loss of the first computer game I wrote, back in the early 90’s on a Mac SE/30. It was a hypercard stack, 2.1 Mb in size, so I couldn’t back it up on a single floppy. Eventually, the 40Mb HDD in that great machine died, and I was crushed. Years of work, all that creativity, a window on my teenage years. Gone.
But it was just a game after all. Recently a friend of mine lost pretty much all the photos of their first born child (3 months worth) due to a botched home server upgrade. Crushing.
We all know the answer is backup, but many people just don’t get around to it, thinking, ‘yeah I should do that’. Like many people, I have a server at home (Gentoo linux) that is my firewall, dhcp server etc. and of course file server. I have a 4.5Tb RAID5 (7 x 750Gb drives) which is about 80% full of data that I’ve amassed over the years. At the moment there are only two clients – a desktop for everyday use, and a media centre hooked up to the TV. Even though I do have some level of data redundancy since I am using RAID5, data loss will still occur if more than one HDD fails.
Ok, so finally to the point of this post – to boost my data integrity (and aid in learning WPF), I have written a ‘folder mirror’ utility.
As you can see, the folder mirroring process can be paused and resumed at will, log files are maintained in a directory of your choice, and a system tray icon is shown, which dynamically displays the percent complete. To configure which folders to mirror, the program reads a file called folderMirror.config, in which you can define as many folders to copy as desired. The utility is designed to be used as part of a scheduled backup, such as a scheduled task. I have it running every day, creating a mirror of the data I care most about on the two client computers. So now my chances of losing data due to HDD failure have been cut down to managable odds, and I can sleep much easier.
You can download the utility for free here.
UPDATE: This software is no longer maintained, I recommend you look at using PureSync as a much more powerful free alternative.