I worked up a solution to sync directories on 2 computers using s3 storage as a repository. I’m using the s3sync ruby library http://s3sync.net/wiki, and a simple setup on each computer. This idea for a backup solution is not new , I’m just taking it a step further and trying to replication the commit/update functionality of something like subversion.
The scenario is I have 2 computers, one at work and one at home. I work in a particular directory in my user folder called workspace, this has all my project files. I’m testing carrying this concept over to the entire User folder but need to make sure there aren’t any issues first. So I finish for the day, and I “commit” all my work for the day to s3 using a simple terminal command “s3commit” this runs the s3sync.sh script and does all the magic. I can even do “s3commit -n” to dry-run the commit and see what im updating, this is like “svn st”. Once everything gets uploaded to s3 I can shut down and go home. On the computer at home I open up terminal and run “s3up”, or “s3up -n” to see potential changes, and that will update my local directory mirroring from the s3 bucket. This system does not do a full download, only files that have changed.
If this works properly with the whole User folder then everything from the two macs will be in sync and backed up to s3.
I’ll post examples and setup once I feel comfortable with the setup.