Microsoft makes this free utility called SyncToy. I don't know if it will come standard with Windows 7, but it probably should. It provides a very elegant way to back up your data to an external hard drive or to a Samba share. You can even schedule it to run regularly, say right after you're done scanning for viruses every night. You do have an automatic nightly scan, right? Instructions for scheduling SyncToy are here: XP and Vista.

The UNIX equivalent to this would be rsync. Cygwin comes with it. In FreeBSD you can install it from ports:


portsnap fetch update
whereis rsync
cd /usr/ports/net/rsync
make install

Then, assuming that you have ssh access with a key pair to your server, all you need to do is this:


rsync -avzu [username]@example.com:[yourfolder] /cygdrive/g/[yourlocalmirror]

A simple ls /cygdrive in Cygwin will tell you what letter corresponds to your external hard drive. In my case it's g. I back up this web site to a WD MyBook with rsync. My wife uses SyncToy to back up her Vista notebook to her Samba share on our FreeBSD home server.

Now: if you do not have ssh access to your UNIX server yet, see my earlier notes for setting up OpenSSH on FreeBSD, or buy the book. For Linux, see here. If rsync fails on the first run with some cryptic message that includes "error in rsync protocol data stream (code 12)" just check the file permissions.  That fixed it for me.