I use RoboCopy, a Windows utility for more robust file copying, to synch my data between two machines. RoboCopy can copy an entire subdirectory tree, only copying files that have changed or that have a newer timestamp, for example. It can also delete files in the destination that don't exist in the source, thereby providing a "synch" of sorts.
What it wouldn't support, however, is true, two-way synching, where changes made in both locations are propagated between both locations.
To back up my machine, I robocopy my Music folder and my Data folder to the destination machine. The command line I use is:
robocopy "D:\My Music" "\\brandt\treehorn\My Music" /E /M /r:2 /w:1 /purge
robocopy "C:\Program Files\J River\Media Jukebox\Data" "\\brandt\brandt\Program Files\J River\Media Center\Data" /E /M /r:2 /w:1 /purge
The "/E" option tells robocopy to copy all subdirectories, even empty ones. "/M" tells it only to copy files with the Archive bit set, and then to clear the archive bit after copy. "/purge" tells it to delete files in the destination that don't exist in the source", so that if I delete a file on my main machine, robocopy also deletes it on the backup library.
Robocopy is available from a number of locations. Try this google search:
http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=robocopyJoshua