How Do You Sync & Manage Your Home Directories? 421
digitalderbs writes "A problem plaguing most people with multiple computers is the arduous task of synchronizing files between them: documents, pictures, code, or data. Everyone seems to have their own strategies, whether they involve USB drives, emailed attachments, rsync, or a distributed management system, all of which have varying degrees of success in implementing fast synchronization, interoperability, redundancy and versioning, and encryption. Myself, I've used unison for file synchronization and rsnapshot for backups between two Linux servers and a Mac OS X laptop. I've recently considered adding some sophistication by implementing a version control system like subversion, git, or bazaar, but have found some shortcomings in automating commits and pushing updates to all systems. What system do you use to manage your home directories, and how have they worked for you for managing small files (e.g. dot configs) and large (gigabyte binaries of data) together?"
Re:Svn (Score:2, Insightful)
Now that you have first post with that entirely informative response, do you care to elaborate on how you have implemented it?
Different tools for different purposes (Score:5, Insightful)
I wouldn't recommend using one tool for every purpose. I wouldn't want to store multi-GB files in SVN, and I wouldn't want to store all my code on an external hard drive. Maybe using DropBox, or rsyncing with a server somewhere would work.
Re:always mount your home dir with NFS (Score:3, Insightful)
Re:Windows users? (Score:4, Insightful)
rsync + ln (Score:1, Insightful)
The bottom line is that no solution is going to do what you want perfectly. If you really want to tweak your backup/sync process (and learn a lot while doing so) then your best bet is to develop your own scripts in which rsync (and ln) are the real workhorses.
Personally I like doing synthetic backups which are like incremental backups, but the unchanged files are hardlinks (NTFS actually supports hardlinks on MS systems). I don't like storing meta-information about my backups, for some directories like .mozilla I like to perform deletions, however for others like Videos, I never want to delete anything, just free up space on particular drives.
Then when you have a nice script, just through it in your crontab and you're good to go.
My script has matured a lot over the years from a simple static procedure to a full-fledge program with config file parsing and very nice command line operations with getopts.
Re:Svn (Score:3, Insightful)
Some months back, i foolishly pointed to my web hosting service that there was a serious security hole in the way their system (cpanel) was configured for subversion
If it saved your data from security problems, it wasn't foolish. If it saved the ISP some trouble, it was downright heroic.
Now if the provider is exposing themselves as being sloppy, and you stay with them for convenience, well maybe that's a bit foolish.
Re:Dropbox (Score:5, Insightful)
When I forget my USB thumb drive, I can log in to my Dropbox account via the web interface from any computer as long as it has net access.
What ever happened to all the true geeks on ./ ?
Whenever I need a file, I log in to my webserver and download it. With dynamic IPs, you can get business Internet access for around $70/month for 5Mbps symmetric (cable or FIOS). Hard drives cost around $75/TB, and you can host this sort of thing on just about any computer you have sitting around that can run Linux.
So, for about $75/month, you can securely store insane amounts of data, and get to it securely from just about anywhere. You could also upload from anywhere with just a tiny bit of web programming.
I still haven't set up the versioning sort of thing, but there are quite literally hundreds of them that work across a LAN if they can get to the filesystem for both the source and the store.
Comment removed (Score:3, Insightful)
Don't sync home. (Score:4, Insightful)
I've done exactly the same as you, used every single tool under the sun, eventually settling on Unison until I realised I was being silly...
Let's put it this way - just set up each computer how you want it, and sync the *data*, not the whole home directory.
For instance, my Documents are synced with Dropbox (though tempted to move them to UbuntuOne), my development directories are generally stored in some kind of revision control (svn/bzr/git) and either not synced or at worst, unison-ed, and everything else just stays on the machine it was created on, and backed up with duplicity to a central fileserver hosted in France.
When you realise that syncing home is *not* good, it suddenly becomes clear what you need, and what you want are completely different.
Re:Windows users? (Score:3, Insightful)
Well, all the data, except for their home dirs. But I guess that isn't important when you already have backup of their wallpaper settings.
Re:Dropbox (Score:1, Insightful)
Cheers!