I have reached a bit of a problem syncing files between my desktop and my laptop. One of my goals is to have a single repository of all my files that syncs to my laptop and I can quickly access via a web interface. I want to be able to securely sync just the files that I need (because who really needs to walk around with ALL their mp3’s). This way I can back up my laptop to my desktop and then backup my desktop to Amazon’s S3 and have a large redundancy in my backup.
SVN and CVS are out because I need to manually add/remove files from the repository and there is a space overhead associated with them.
I know one solution is to use Windows Offline files. However, without creating a VPN I can’t sync the files from school or work. I also don’t know how this works on large (30+ GB) sets of files and it seems like there would be a significant performance hit with a large set of files (if I understand how offline files works). I also know that it takes a really long time to run just on the 1 GB or so of data that my work computer syncs even over a 100 MB connection. It’s also a Windows only solution and that is going to cause problems when I try to switch my laptop over to Linux.
I have been looking at some other solutions including rsync and a program called unison. These both allow me to make a secure connection (via ssh) to my home computer and synchronize just the changed portions of my files. My desktop is already set up to allow ssh access to it (I can’t tell you how useful that is) so this one requirement is met. The major issue rsync had when I was looking at it was it only support one direction syncing so I would have to run it twice for each directory that I was syncing. Unison appears to do both directions at once so I can quickly check for changes. Unfortunately, I’ve never heard of unison and I’m a little afraid it might be unstable or unreliable. I’m going to do some experimenting with unison and see how it works out. Has anyone had any experience with Unison one way or another?
4 users commented in " Syncing Files "
Follow-up comment rss or Leave a TrackbackYou might want to reconsider the SVN/CVS thing. Git is a *great* alternative. Instead of creating a hidden directory in each subfolder (which breaks bundles/packages like the new Office format) it creates just one folder in the root of the directory you’re managing. It’s not ideal for huge files like moves/music/photos but for everything else it’s great.
That being said, I’m only using it for a few programming projects right now, but I’ve been very impressed so far. The cool thing is there’s not really a central repository, you can just push and pull from any computer.
My personal data is still in a state of chaos since none of my computers have enough internal storage to hold everything. Someday I will get a Mac Pro or something with lots of internal storage…
Do you know how git handles binary files? I have 20 GB of photos and 30+ GB of audio files and I don’t want to sync over the whole file every time they change. I was going to start reading up on git over spring break because it really does seem like a more UNIXy versioning system.
Like other versioning systems, Git uses the SHA1 of a file to create deltas. When one piece of the file changes, it results in a brand new SHA1. But if your mp3s/photos stay the same (which they should) then pushing/pulling updates will only move new stuff.
I have a video that’s aimed at Ruby/Rails/Git, but it might still be interesting to you. Let me know if you want to watch it.
I would be interested in seeing the video. Randall Schwartz from FLOSS weekly is supposed to have a really good Google Tech Talk about it. I looked just after he had presented but I didn’t see anything (I just found it).
The reason I’m interested is that CVS has a problem with binary files where it keeps a full copy of every version of a binary file and that can add up on an office document.
The other thing is I’m looking at using ZFS for versioning/backup. Plus, I need to get a couple really large drives for my computer
Leave A Reply