[Box Backup] feature question - sync

Chris Wilson boxbackup@fluffy.co.uk
Mon, 16 Jul 2007 21:09:30 +0100 (BST)


Hi Josh,

On Mon, 16 Jul 2007, Josh McCormack wrote:

> Would it be possible to have live machines in various locations
> sync'ing up by pulling in changes from the server and updating
> themselves?
>
> In otherwords, say you had a desktop machine at the office, one at
> home, one at your in-laws house and a laptop. Have the all be the same
> "computer" with different locations and hardware, but all sync'ing up
> by backing up changes and updating themselves with any changes.

Yes, it is possible, but Box Backup is probably not the best tool for 
this. For a start, you would have to put the same crypto keys on all 
machines. Then you would have to deal with the fact that bbackupd never 
downloads new data from the store, because it is expecting that it will be 
the only process writing to it. Instead of downloading new changes from 
other hosts, it will overwrite them.

I don't think that we have enough information on the store to do a 
"proper" synchronisation. We would have to keep a local record of what we 
had during the last sync, and scan the store to see what had changed, if 
the client store marker was different to what we expected.

I suppose it would be possible to use the running bbackupd state to do 
this, in theory, but only if bbackupd were never restarted. We could also 
use the StoreObjectInfoFile to persist that state, but I'm not sure that 
it's reliable enough and I'm worried that if it failed, it would propagate 
deletions of newly added files, and undo recent changes, to all machines 
in the group.

Box Backup is not currently designed to do this and it's a lot of work, so 
not really a high priority for us at the moment, sorry.

Unison or rsync might do what you want.

Cheers, Chris.
-- 
_____ __     _
\  __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |