It may not be the latest and greatest, state-of-the-art in computer backup technology, but my solution for this very-necessary process is cheap and fairly easy to set up for the intermediate to advanced computer user. And it’s been working flawlessly for the past 2 years.
It starts with having an old desktop PC laying around. It doesn’t have to be fancy, in fact, mine was an old XP machine with a Celeron processor and 384MB of RAM. And that’s more than powerful enough for what I used it for. The system requirements are actually:
- Motherboard with x86 processor
- 192 MB RAM
- 32 MB free disk space
- Network card
- BIOS that supports bootable CD-ROMs
First I pulled the old 40GB hard drive out of the PC and replaced it with three 750GB drives. It helps to have a good sized tower case, but with 1.5TB drives now available cheap, a standard two bay case is fine for most users. Let me just point out here that this step is the ONLY one that costs any money at all. And it will cost you only as much as you want to pay for the drives. You can add a second or third later also, so you don’t have to do this part all at once.
Next I went to FreeNAS and downloaded the latest build of the software. At the time that was version 0.69. It is now 0.71, but I have had no need to upgrade and I don’t foresee one in the future. FreeNAS isn’t like Windows or Mac OSX – you don’t need to keep up with the releases. Once you’re up and running you are good to go for years.
If you aren’t familiar with FreeNAS then let me explain just a bit. It’s a free, open-source operating system that…well, I’ll let them explain:
FreeNAS is an embedded open source NAS (Network-Attached Storage) distribution based on FreeBSD, supporting the following protocols: CIFS (samba), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI (initiator and target) and UPnP.
It supports Software RAID (0,1,5), ZFS, disk encryption, S.M.A.R.T/email monitoring with a WEB configuration interface (from m0n0wall).
FreeNAS can be installed on Compact Flash/USB key, hard drive or booted from LiveCD.
It’s obviously the hard-drive installation that you will want to do. Install it on your primary drive. It does not take very much space as you probably already guessed from the “32MB of hard drive space” system requirement. For the installation you will need to hook up a monitor and keyboard to the PC. Don’t worry if you have only one each of these. You’ll just be borrowing it for the installation. Once you’re done then you can hook them back up to your desktop PC. Don’t bother with a mouse – FreeNAS is a keyboard-only interface. I used this excellent tutorial to walk me through it. It looks intimidating at first glance, but once you get started and follow each step it really isn’t that bad.
Once it’s up and running you can disconnect your monitor and keyboard and return to your regular desktop PC or laptop. Now access to the FreeNAS box will be from any web browser on any computer on your network. I recommend setting the IP address of the FreeNAS to always be the same, even if you reboot your router. It’s not necessary, but it sure makes life a little easier.
You will access FreeNAS by opening a web browser and typing it’s IP address in – for instance mine is 192.168.0.9. Here you’ll be greeted with the status screen. Click on the image below to see the full size version.
You will need to make sure that you configure each hard drive in your FreeNAS box to UFS (under Disks=>Format). Create a Mount point for each one (under Disks=>Mount Point). You can also set the IP address (under Network=>LAN). You may also want to allow FTP access (under Access=>FTP). This is handy because it allows you access to your files from a remote location. I even carry a USB key on my keychain that has a portable version of FileZilla (free) on it that is all set up to access my FreeNAS so that I can do so from someone else’s computer.
Once all of this is up and running the way you want then it’s time for the last step – automatic backup. There are several programs you can use for this step, but my choice is SyncBack SE. SyncBack provides paid versions, but the link I put here is to the freeware version which does everything I need. You can compare and make your own choice though.
Once you have installed SyncBack you can begin setting your automatic backup. This is how I set mine up, but it’s certainly not the only way.
I created a separate profile for each backup – Documents Backup, Music Backup, Pictures Backup, etc. Set each profile to run between the folder where your files are stored and a folder you create on a drive on the FreeNAS box. By the way, creating folders on the drives of your FreeNAS is the same as on a Windows Hard Drive. Access the FreeNAS drive in Network, double click the drive and create a folder. Make sure the profiles you create in SyncBack are set to run in Backup mode NOT Sync mode. This is important. If you accidentally delete a file locally you do not want it to be deleted from the backup or else this is pointless. Yes, if you really want to delete a file you have to delete it twice – locally and on FreeNAS, but that way accidents don’t happen. I set each backup profile to run in the middle of the night – one at 2am, one at 3am, etc.
One additional thing I have done with SyncBack, and this certainly isn’t necessary, is setting up a Documents Sync profile between the My Documents folder on my desktop and the one on my laptop. I set this profile to run every 10 minutes between 6am and 12 midnight. Yes, the computers are shared and it’s not hard to access one from the other, but it’s even quicker to just click the Documents link on the Start menu. Plus it ensures that when we take our laptop on the road we always leave with the latest copies of all of our files – even the one that was just created on the desktop right before we went out the door. Click the image below to see it full-size.
That’s it for all of the setup. If you would like to see a better walk through of how I set up SyncBack then I wrote one here. I hope a few of you will find this useful and set up your own versions. It’s a fun day playing around with some different types of software.