USBKeyBackup Project
Modified on 2010-01-21 09:34 by TaoK — Categorized as: C#, dotNet 2
Originally developed for my father-in-law who likes to keep all his documents on USB Keys, this program does the opposite of what most USB Key Backup programs do - instead of backing up the computer to the USB Key, it backs up the USB Key contents to the computer (or multiple computers).
The project is largely complete (and handed off to its primary user), and I suspect it could be useful to a wider audience. It includes:
File version detection, only backing up files that have changed since the last backup
Point-in-time restore, restoring the full or partial contents of the USB Key as it was at the time of the backup
Automatic backup "weeding" - only keep one backup a week after a week, one a month after a month, one a year after a year; striking a balance between space usage (and usability) and ability to restore a specific version you are interested in. This weeding / backup deletion process if fully configurable. File versions that are still in use by later or earlier backups are never deleted of course.
Automatic on-the-fly AES 256-bit encryption, so the the backups on the computer cannot be read by anyone who does not have the password (which is on the USB key).
Easy restore and (transparent) decryption interface - you navigate your backups and their contents, and decide what backup, folder within a backup, or specific file you want to restore/decrypt.
Forthcoming features:
Ability to easily navigate/restore backups from another USB key, as long as it contains the same password (basically meaning that even though you use one key on a daily basis, as long as you back it up on computers you use, you can use another safely stored key to restore the data, should the general usage key become damaged or lost).
Ability to compress the data as it is backed up, before encryption. Currently economic space usage is achieved by only backing up files that change, but adding compression would clearly make sense (on powerful computers where it doesn't make the backup process too slow).
As always, contact me with any interest!