Sync Files and Folders Between Computers
I have one music library on my iMac (running Snow Leopard) and another on my MacBook Pro (BootCamp – running Windows 7 Ultimate). My wife purchases music on the iMac and I purchase from my laptop. Sometimes we use iTunes, other times we use Wal-Mart.com. Hence the need for a sync utility. I came across Microsoft’s Live Sync while looking for a platform agnostic utility to sync my music library.
Live Sync
Windows Live Sync is an application and web service used to synchronize files and folders across multiple computers and with multiple users. You can sync up to 20 different folders with up to 20,000 files each. It also provides a nice web interface for browsing your remote computers’ hard drives (don’t worry, it’s all encrypted).
You can invite friends to share/sync folders and grant permissions as readers, contributors or owners.
In theory, this should have worked great. My problem was that I already had folders that were out of sync with each other. Live Sync seemed to have a hard time with this. It was also quite slow in syncing 10+ GB over the internet.
I use this to quickly and conveniently access files on my home network from anywhere in the world. This could also be a great solution for musicians who are working on a project remotely. It’s a user-friendly, FREE way to sync your music projects.
Live Mesh
Live Mesh is another cool Microsoft product that gives you all the features of LiveSync, but adds support for remote desktop (requires ActiveX) and 5GB of online storage (not much, eh?). Microsoft describes Live Mesh like this:
With Live Mesh, you can synchronize files with all of your devices, so you always have the latest versions handy. Access your files from any device or from the web, easily share them with others, and get notified whenever someone changes a file. Use Live Mesh to connect to your other computer and access its desktop as if you were sitting right in front of it.
I downloaded the Vista x64 version for Windows 7 and it worked fine. Very cool…and has it’s place…but it still didn’t meet my needs for reasons mentioned earlier. Live Mesh boasts future support for mobile devices, but has been advertised as “Coming Soon” for about a year.
Home Brew
So, I learned about a couple nice utilities from Microsoft that run smoothly on Mac, but at this point I’ve decided to write my own folder sync utility in C#. It’s a console app right now. I have the following config settings available:
- Local folder location
- Remote folder location (supports UNC paths for network shares)
- Copy from local to remote
- Copy from remote to local
- Enable verbose logging
- Log file location
- Append or overwrite log file
- Overwrite files if source is larger – if there are files of different sizes with the same name in the same folder. This option will overwrite the destination file if the source file is larger
- File types to exclude (I use this because I don’t want DS_Store files copied to Windows and I don’t want desktop.ini or .lnk files copied to the Mac)
So far so good. I copied 10 gigs of files in 5000 directories (on a local 100Mbps network) in about 20 minutes. This could come in handy if you need to sync a local folder with a network share at work. Thoughts from the peanut gallery? Should I turn it into a windows app and post it here for download?
Click here to check out a great blog post about Live Sync, Live Mesh and SkyDrive.




This sounds awesome. I’ve actually made several attempts to make something like this, but could never get a working product.
I have a laptop I don’t use as often as my workstation and would really like to be able to keep them both in sync.
I’d also love to contribute any help on this as well!
@Ryan
I’d be happy to send the solution if you want to take a look.