RFC: Synchronize Laptops

Dear Lazyweb,

I have 3 laptops and I use both for pretty much the same tasks but in different environments (home office, at school/work or everywhere else). I’d want most of my things synchronized (i.e. 99% of my ~). What is the best idea to synchronize them?

Some facts that might matter to choose a solution:

  • need to synchronize up to several thousand files.
  • most files are small (mostly some KB, 10MB tops) but there’s also files of several hundred MB.
  • there’s plain text as well as binary files.
  • it might happen, that a single file is edited on different laptops before I snychronize them -> merging needed.
  • decentralized synchronization is preferred, but I’d have a server available if necessary.
  • only as much traffic as absolutely necessary.

Who can help me? What solution would you choose and why? Anything special I should think off?

So far, I could only thing about setting up a SVN server but I hope there’s a better solution.

Thanks for the help! Any idea is welcome!

11 Responses to “RFC: Synchronize Laptops”

  1. RFC: Synchronize Laptops Says:

    [...] http://blog.sandro-mathys.ch/2008/09/15/rfc-synchronize-laptops/ asks Hoosgot, [...]

  2. Michael DeHaan Says:

    SVN is classically bad at storing large binary files, nor is decentralized.

    You might want to look at git or another DVCS, though it really depends on how much merging you would want to do. It may be easier to treat one server as master and just use rsync and try to adjust your workflow some.

  3. martin langhoff Says:

    I would say git or unison. Used unison for this for a few years happily…

  4. red Says:

    I stumbled upon unison yesterday, some hours after posting this RFC. I’ll definitely give it a try but more suggestions are still welcome :)

    Thanks so far!

  5. David Cantrell Says:

    I struggled with this problem for years, first attempting CVS, then moving to SVN, then trying things like unison and other keep-in-sync tools. The problem with all of them was that it required too much effort on my part. They were all prone to problems and my home directory is currently 68GB and growing, so no solution was fast enough.

    The two solutions I’ve found that work best for me:
    1) Use one computer. After I centralized all of my data on a single system, life was easier. Yes, I have multiple laptops and systems for different tasks, but all of my data resides in one location (and backed up to multiple sites, geographically separated).

    2) Use a USB jumpdrive. This was even better than using one computer. Before my home directory grow to the size it is now, I was able to keep everything on a single USB jumpdrive and move it with me between systems. Backups were still in effect, mind you. But I never worried about any system needing a reinstall or hardware failure.

    Most people ask me why my home directory is as large as it is. After years of playing the game of keeping large data sets out of my home directory, I gave up and decided that everything that is mine should be in my home directory. Music, movies, and so on. I never have to think about backing up other directories and always know where everything I care about is.

    Another problem I had with tools like unison was managing a central home directory across multiple operating systems. Seems trivial, but it became somewhat of a headache.

    Maybe I’m just lazy.

  6. Sparks Says:

    You could use rdiff-backup if you have a central storage area. You backup one computer, then do a restore on the next computer. You can setup scripts to do this and it securely transfers files via SSH. It is a very simple solution and I use it to backup my laptop to my home server daily (or more often).

  7. Ahmed Kamal Says:

    dropbox ?

  8. red Says:

    Thanks again, to everyone dropping their ideas/experience.

    David: true, that are two fine solutions and I already considered both, but they just don’t work out for me for different reasons (that might be a bit lazy or strange, too). Additionally, my home is currently not too big and if I ever have big files it’s multimedia stuff and for that stuff, there’s one designated laptop so I wouldn’t sync those files/dirs.

    Sparks: right, that’s a great input. I’d still prefer a decentral solution like unison, but if that doesn’t work out, I’ll sure give that a try too.

    Ahmed: absolutely not what I’m looking for, sorry.

  9. Fabian Says:

    maybe http://www.conduit-project.org/ ?

  10. thinair Says:

    Bash script with rsync over ssh

  11. red_alert Says:

    Thanks Fabian, I looked a bit into conduit project and it looks nice. Will investigate a bit more what that tool can do for me.

Leave a Reply