Synchronize Data Between Linux, OS X, and Windows?
aaaaaaargh! writes "I'm using a laptop with Ubuntu 8.04 for work, a netbook with Ubuntu 9.10 when I'm outside, Mac OS X 10.5 for hobby projects, and Windows XP for gaming. For backups, I'm currently using Jungle Disk and Apple's Time Machine, and I use a local svn repository for my work data. Now I need to frequently exchange and synchronize OpenOffice and Latex files and source code in various cross-platform programming languages between one machine and another. Options range from putting everything online (but Jungle Disk disks seem to be too slow for anything else than backup), storing my data on external media like USB sticks or SD cards, or working with copies by synchronizing folders over the network. I don't want to give my data away to some server outside without strong encryption (controlled by me, including the source code) and external media like USB sticks are a bit too fragile according to my taste. The solution should be reliable, relatively failsafe, as simple as possible, and allow me to continue to use Jungle Disk for backup. So what would you recommend?"
Set up one computer as a server and rsync/ssh to it with either a cron job or at your whim.
I like Unison for this sort of thing.
www.dropbox.com
https://www.dropbox.com/ will give you 2gb of free space. It'll keep all files in your "dropbox folder" synchronized on all computers where it is installed. It works on Linux, Mac, and Windows. A video on installing Dropbox on Linux from The Linux Journal's Shawn Powers is here: http://www.linuxjournal.com/video/dropbox-linux
Three options that I use, or have used, are rsync, Chronosync and Jungle Disk.
Jungle Disk is the best solution if you have more money than time and can rely on being online a reasonably good percentage of the time. In the Jungle Disk settings, you can specify a certain portion of your disk to be used as an offline cache. Jungle Disk will then keep downloaded files in that disk cache, so you don't have to worry about the download speed so much, assuming you have the disk space available for the cache. If you don't have the disk space you'll need an online solution anyway.
Chronosync is Mac-based, but you can set it up to sync your files with your Windows and Linux computers. I recently bought it and haven't been through all its features yet, but I'm pretty sure it will do everything you need it to for about $40.
Rsync is of course great if you have the time and expertise to set it up. If you want to take the time to learn how it works, it's probably the best solution. OTOH I think Chronosync will do 99% of what rsync will do (from what I've seen) and is easier so I felt like the purchase price of Chronosync was worth it to me.
www.clarke.ca
End of discussion.
Mercurial for...
Windows
MacOS
For linux it should be in standard repos.
This way you can make changes on any of your systems and move them around as required, merging only when needed.
http://michaelsmith.id.au
external media like USB sticks are a bit too fragile according to my taste
That's because you're using the wrong external media. You're going for new and exciting and not old and reliable. What you need to do is convert all of your data to human-readable binary (you know, 1100110001111 and so on), and chisel it on to large stone tablets. These are extremely resistant to wear, especially if stored with the written side down, and are virtually theft proof (who's going to steal a bunch of 500-pound rocks?).
You can also easily transfer data from one machine to another either via forklift or just by bringing the machines to the tablets themselves. Backup to Jungle Disk is simple: store a second set of tablets in the Amazon (you can even have a DR site in southeast Asia!), and hire local villagers to update them for you. You should provide a telegraph machine to the villagers to send data back and forth for synchronization purposes. If the telegraph is too unreliable, you can use an elaborate network of smoke signal or semaphore (the thing with the flags) specialists to send data back and forth.
Encryption may be a little more difficult, but easily solved if you happen to have a couple of old Enigma machines sitting around (and really, who doesn't?). If the Enigma machine isn't reliable enough, Little Orphan Annie decoder pins can be used instead.
HTH.
I;m a little confused if you are syncronizing, mirroring or backing up data. the title says synch, but time machine and jungle disk are more for backup, and at most can be used for mirroring a master rather than synching.
If you want to backup, take a look at Crashplan. It's got two unique features the other plans lack. 1) you can backup to your own physical media, not theirs. This solves the problem of how do you backup and restore say 200GB of data in less than a month to a remote service. if the disk is yours you do the initial backup locally, them move the disk to the remote location for incremental backups. And then you do the reverse when you need to do more than in incremental restore. 2) they will sell you just the software-- a one time cost-- and you don't have to pay for a monthly remote service cost unless you want to. in which case you just backup to a freinds computer that is hosting your disk. Your data is both safe and remote (and encypted) but you can also go get the drive is if you need it using your toyota rather than the internet.
On the other hand if you want syncronization then look into Unison. It appears the source forge project is not highly maintained but also mature enough to work well. it is cross platform and scriptable.
Some drink at the fountain of knowledge. Others just gargle.
WHOMEVER is designing USB 4 or whatever it will be called, PLEASE make the damn connection more sturdy.
They should make the connection more fragile, not more sturdy. The components should be sturdy, but if you design them to easily separate, things like tripping over the cable will cause little to no physical damage.
Apple's MagSafe power adapter is a good example of this. You can trip over the power as much as you want and it just disconnects. But neither the cord nor the laptop is damaged in any way and you're free to simply plug it in again and continue working. This should be the goal of every computer connection. The last thing I want is to trip over a cord and send both devices at either end flying across the room because the connection is sturdy enough to not break.
I use a local svn repository for my work data. Now I need to frequently exchange and synchronize OpenOffice and Latex files and source code in various cross-platform programming languages between one machine and another.
Am I missing something here? What doesn't SVN do that you need? Clients exist for all named platforms and it handles OO, Latex, and source code files very well.
Ask Slashdot: Where bad ideas meet poor googling skills.
That problem is mentioned all over the net, what's not mentioned is that the problem stems from transfers across different OSs.
A suggestion that might be a work-around : Sync Windows to a smb share, and use unison locally on that directory.
I am not using windows, so I'm fine. But, I also can't guarantee that my suggestion works.