Windows OSX Two-Way Sync, on the cheap
July 13, 2007 8:41 AM   Subscribe

Three computers. Two operating systems. Help me keep my vital files synchronized without costing an arm and a leg. Previous AskMe entries have so far not helped.

Home system is WinXP. Old laptop (now used by my wife) is WinXP. New laptop is a MacBook Pro.

I need to keep some specific folders synced between these systems (my research documents, EndNote library, iTunes and image folders). So far I can do it, but it's a pain in the butt.

My current method is to load WinXP under Parallels, then use local folder sharing, shared networking and the free MS SyncToy to compare and sync files. It works, but it would be nice not to have to load Parallels every time I want to update my files and folders. (Parallels install is on a BootCamp partition, so Parallels Explorer won't make this easier.)

What I need:
-2-way synchronization. The free utilities I am seeing (PsyncX, Unison) only do one-way (unless I am missing something here).
-Ability to restrict folders/filetypes to keep things sane (for example, don't copy thumbs.db to the Mac, and don't copy .DS_Store to Windows, etc.)
-Ability to mirror actions (ie, folder deleted on A is also deleted on B on next sync) if I wish to do so.
-Ability to define different sync profiles, so that I choose which folder pairs to sync rather than running all every time.

What I would prefer:
-Open source, if possible; free, definitely. I'm tired of paying for utilities that really ought to have been included in the OS.
-Cross-platform, if possible. I'm tired of finding the perfect program and then realizing that it only works on one OS.
-Direct system-to-system sync. I do not need to sync unless I am at home, on my home network.

I know there are non-free utilities that would do what I want. I do not currently have an extra $50 to $100 to spend on these programs.

I know that some programs can be picked up for free if one knows where to look. My MacBook is a University-owned system and I would rather not put software of dubious heritage on it.

I did look at Unison and I almost thought it would do what I wanted. However, the instructions for use made me feel that it would not. If there's a way to make it do so, I'd be greatly appreciative if you would enlighten me.
posted by caution live frogs to Computers & Internet (11 answers total) 4 users marked this as a favorite
There is a free solution - rsync + cron (or any scheduler). It's not trivially easy, but if you google rsync winxp cron you should be able to get there.
posted by mzurer at 8:51 AM on July 13, 2007

You should understand that there's no trivial solution to what you're asking. 2-way synchronization... If File A gets independently modified on both computers, which modification is to be kept? The software cannot read your mind.

You should investigate setting up a Subversion repository and keeping your files under version control. While Subversion can't read your mind either, its policy of keeping all versions of everything will make sure that you can get back to whatever old versions might have been inadvertently synced over. There exist subversion clients for any operating system you might desire. It's quite fast as well - some "stupid" synchronization clients end up copying all the data over the network each time you sync. Subversion looks for changes and only copies them.

(On preview: subversion is rsync on steroids.)
posted by jellicle at 9:01 AM on July 13, 2007

Best answer: Sorry, but without a lot of configuration and testing you may not find the free rsync to work well.

You might look into Chronosync, which I have used and like — and which does bidirectional syncs — but it is not cross-platform or free.

You can set up a triggered synchronization or schedule the timing of syncs.
posted by Blazecock Pileon at 9:16 AM on July 13, 2007

Seconding Subversion.

You can set up cron jobs on OSX or scheduled tasks on XP to do svn update on the files you want constantly updated, or you can do it manually. Requires you to "commit changes" if you want the other computer to be able to see them.
posted by zackola at 9:20 AM on July 13, 2007

As much as I hate to recommend a product from a company that Microsoft bought out, FolderShare does _exactly_ what you are asking for. It is not open-source, but very free. Basically, you run the client on all your machines, and mark folders as shared. It works it's way around firewalls, and keeps them all in sync. Delete it on place, and it deletes everywhere pretty much instantly if everyone is online. You can manage multiple folders, and as a bonus, through their website, you can search your Mac and PC and retrieve individual files if you are not near any of your computers.

While I use Subversion and rsync depending on the data, my wife doesn't live and breathe with her computer like I do. I set her up with FolderShare to sync her home MacBook, work iMac, and Windows running in Parallels on her work iMac. It all works like a champ.
posted by AaRdVarK at 10:05 AM on July 13, 2007 [1 favorite]

Check out Unison, which is open source and runs on OSX/Linux/Windows. Might fit the bill for what you need.
posted by lfaren at 10:47 AM on July 13, 2007

Enable file sharing/samba on the mac book. The mac book will be the file server. Enable offline folders on the XP machines. Select your shares as the offline folders.
posted by damn dirty ape at 10:53 AM on July 13, 2007

Response by poster: Guess I should have noted that while I would like files to be synced I only use one of the computers at a time - so no worries about modifications in two places at once (simple "newest file replaces older one" is sufficient for me).

FolderShare might be a go - I will look in to that. Not certain how much I trust an off-site system to have access to my files, though. It could also make syncing large files pretty slow.

As I said above, I looked at Unison but cannot seem to figure out if it does what I want it to do.

Subversion might be the ticket. Given that the MacBook is capable of serving as a Subversion server (and it isn't that hard to compile Apache2), I may give that a shot.
posted by caution live frogs at 3:01 PM on July 13, 2007

Foldershare favors peer-to-peer transfers, and as I recall, it even works when the peers are on the same private network (ie your home network). It won't filter files for you, but other than that, it works pretty well.

I've been watching this project on and off as a foldershare alternative. Haven't looked lately, but it might help.
posted by Good Brain at 5:57 PM on July 13, 2007

Make sure you're not using files with resource forks if you're going to use subversion.
posted by bonaldi at 8:48 PM on July 13, 2007

Response by poster: Forgot to mark best answer for this thing. Chronosync is not free but it is the best solution I have found. The trouble with rsync, subversion and the like is that they are not really end-user friendly, and are basically designed for syncing files back to a server. I suppose someone with more time n his or her hands (or more UNIX/Linux knowledge) could make them work, but Chronosync does exactly what I want it to do (and even allows me to easily skip specific files or force one-way syncs when needed).
posted by caution live frogs at 2:02 PM on November 12, 2007

« Older Words fail me   |   Ah, The Rank, Musty Smell of Knowledge Newer »
This thread is closed to new comments.