Friday, January 15, 2010

Microsoft’s Free SyncToy

I have been using the Mozy online backup service for a while now, and while it is an affordable and convenient way to backup my laptop, it’s not a solution for syncing folders between my laptop, my home desktop and my work desktop.

In order to resolve the sync problem, I decided to try Microsoft’s free SyncToy PowerToy. I believe that Microsoft SharePoint Workspace 2010 is where I will eventually go for at least part of this functionality, but a quick—not to mention, free—resolution is appealing to me today.

UPDATE: If you're interested in this utility, you should check out the new version: Windows Live Mesh.

Backup vs. Sync

While there certainly is a relationship between sync and backup, the two are not the same. The reason I want to backup my files is because I want to be able to recover something that was lost due to a failure such as a hard drive crash. The reason I want to sync my files is that I want to do things such as walk home from work and have the same file on my home machine that I was just editing at work. In fact, I don’t want it just to be the same file, it must be the same version of the file.

Microsoft SharePoint can be useful for these scenarios, but I use it primarily for work. I use Mozy online backup to protect assets such as my vacation photos. I want to be able to sync because when I open my laptop on a plane (like I just did to write this post), I want the right versions of a bunch of files to be there. Furthermore, I may not know which files I want, so the sync is something that should happen automatically.

What can SyncToy do?

SyncToy is able to help with most of my files syncing needs. Using the tool, I can create a relationship between files shares on as many computers as I want and specify a few options for how I would like those files to be handled.

CreateFolderPair - creating a folder pair for syncing

Once I have my sync pairs created, I can run the operation and the files on my desktop at work will be synchronized with my files on my laptop.

RunningSync - running a sync

If you’re not sure what’s going to happen with the click the Run button, there is also a preview run feature that you can use to see what the operation will do before it runs.

PreviewRun - previewing a sync run

Note: Synctoy will write a file (.dat) to each folder that you add to a folder pair. If you delete this file, SyncToy will no longer be able to run the synchronization.

Schedule SyncToy

Since SyncToy does not have a way to configure a sync operation to run, you will need to use Windows Scheduler to automate the task. This is not ideal and doesn’t allow for real-time synchronization, but as you can see in the steps below, it’s trivial to set it up to run at a set time.

From the SyncToy 2.1 Help:

While you do not have to schedule SyncToy to use it, some users may find it helpful to schedule recurrent SyncToy runs. Perhaps you have a folder pair that takes a long time to sync and you want to run SyncToy in the middle of the night, for example.
SyncToy does not provide a user interface to schedule folder pairs to run at designated times. However, there is a method to schedule tasks using the Microsoft© Windows© operating system.

Windows Vista/ Win7
To schedule a task using the operating system:
1. From the Start menu, select All Programs - Accessories - System Tools - Task Scheduler.
2. Select Create Basic Task in the Actions pane on the right.
3. Add a Name and Description and select Next.
4. Choose when you want the task to start and select Next.
5. Choose date/times (if applicable) to run task and select Next.
6. Choose Start a Program option and select Next.
7. Select Browse and locate the SyncToyCmd.exe.
8. Type "-R" in the Add Arguments textbox. –R all by itself will run all folder pairs that are active for run all. If you want to run just a single folder pair, add –R “My Pair” to the end of the command line.

Note: If the folder pair name contains a space, surround it with quotation marks… "C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" -R "My folder pair."

The weakness of SyncToy comes to light in the ‘stepping on a plane’ scenario. Today, SyncToy does not have a UI option for scheduling synchronization and even if you use Windows scheduler, you’re still not in the Nirvana state because a lot could happen between the time that your scheduled sync runs and when you get onboard your flight. However, despite these limitations, I’m going to be using SyncToy for the time being.

Try SyncToy 2.1 for free.

No comments: