Off site backup is an important thing to have, however in order to effectively do this, one either needs to either send backup media to a separate location, or send the data over the internet. The primary disadvantages of the transportation of backup media is that if you want to have daily off-site backups, media either needs to be mailed or transported to the offsite location. This also requires a bunch of media as the media is what is physically moving. The advantage is that it’s fast to transport a large amount of data. Network based backup is automatic, and doesn’t require a bunch of media. However home Internet connections often have slow upload bandwidth.

CFTBackup is going to be a solution that operates on a hybrid approach. The name comes from the saying “Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.” 1 The majority of the work will be accomplished with rsync, as the 1TB drive I am using is more than enough space for the time being.  The system will pull changes from my multiple computers throughout the day and at night, but due to the limited upload bandwidth the uploads to the offsite system will be limited to taking place during the late night. The other option for offsite backups will be to take a removable USB hard drive, transfer what needs to be backed up and physically transport it to the other location. The software to accomplish this hasn’t been written yet, but the hardware for my local system has been purchased.

Originally I was going to use a KuroBox (a Buffalo Technologies NAS appliance) that is an open platform. After looking at Mini-ITX form factor systems I was able to find an Intel Motherboard Intel Atom CPU and Mini ITX case combo for significantly cheaper. Including 2GB of ram per system (I bought 2), it was about $30 cheaper than the KuroBox solution, for a more powerful solution.  I am planning on sending one box to my parents in the Cleveland, Ohio area. The box for my house will have a 1.5TB Seagate hard drive, while the one for my parents will have a 1TB drive.

The systems were fairly simple to put together and install Ubuntu 9.10 server on, the only complication being that the motherboard does not have an IDE port, nor am I planning on putting a CD/DVD Rom drive in the system. Luckily Ubuntu has an easy solution for creating an install image on a USB Flash Drive.

The software will be a combination of Cron jobs, a web-based administration (not sure yet what language), some sort of configuration storage (flat file or sql), Samba, and rsync/ssh.

1. Tanenbaum, Andrew S. (1996). Computer Networks. New Jersey: Prentice-Hall. pp. 83. ISBN 0-13-349945-6.  Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway