File Zen: Consistent Data Folders Synchronized Between Desktop & Laptop Windows Machines

visualizing my drive usage in windirstat

My goal was to have as close to identical as possible environments on both my desktop and laptop machines, and to have them back eachother up in case of loss of either one of them.  The idea is that I should be able to work from either machine without having to alter where the files I am working with exist.

Redundancy

This is complicated by the presence of redundant disks (RAID-0) on my desktop. All my important data is duplicated between two mirrored 500GB drives. But this does not include my Operating system or applications which are kept on a single high-speed (10,000RPM) drive C:\. This makes it so my “Important data” drive cannot be the C:\ drive.

The problem was that the drive letters between my desktop and laptop were not consistent. On my laptop everything was C:\, and my desktop I used the D:\ drive for my RAID-0 array.   When doing development work, this makes it difficult since the file paths on one machine is different than the other. This inconsistency was a constant bother.

Defragmentation

In order to rectify this I had to split the drive on my laptop into two partitions. This is easier said than done, and not possible with the tools that come with windows. The problem is that in order to make room for the new partition, files must be cleared away at the end of your existing partition. An ordinary windows defrag is not good enough since there remain “unmovable files” such as virtual memory and system restore data. I ended up following these instructions and using a program call PerfectDisk 11 which has a free trial in order to accomplish the partition resize.

Consistency

Once I cleared out the room on my Laptop, I created the new partition and gave it the drive letter H:\. I then changed the location of my documents folder to H:\data. On my Desktop I moved my D:\ drive to the H:\ drive inside the disk management utility.  The H:\ drives on my laptop and desktop are now ready to (partially) mirror eachother.

Cleanup

The amount of data I have is too much to carry around on my somewhat smallish laptop drive.  So I setup the h:\olddata path on my desktop only as an archive for information I know that I won’t need to immediately access.  My cleanup was facilitated by an awesome utility called Windirstat that visualizes the usage of space on your drive (see snapshot in top right).

After deleting unnecessary data, and archiving old data, I had a streamlined  H:\data folder ready for synchronization between the two machines.

Synchronization

There are tools for synchronization in Windows 7 Professional, unfortunately I only had Windows 7 home premium on both my machines.  I searched for a tool that would achieve my goal of bidirectional differential synchronization and eventually settled upon Allway Sync, which I purchased for about $20.   Within Allway Sync installed on my desktop machine I setup a task to synchronize the desktop H:\data folder with the \\laptop\H\data network share.  After running for a long time and handling conflicting files that were modified on both machines, the sync was successful.  Subsequent runs of the tool became much easier.  I scheduled this synchronization task to run automatically when my machine was left idle for more than twenty minutes.

User Folders

The last bit of data to be synchronized was the user folders.  These exist at C:\users\MyName on both machine but contain very different data.  You don’t want to sync these folders bidirectionally or some weird stuff could happen.  So I setup a Backup\desktop\c\users\MyName folder on the laptop, and a Backup\laptop\c\users\MyName folder on my desktop and setup Allway Sync tasks to do a Unidirectional copy of each of these folders to their respective machines.

Still to do are some off-site mirroring of the olddata archive, but for the most part my goal of data redundancy and consistency Zen has been achieved!  I hope you have found this guide to be useful.

c:\temp\windirstat.jpg