Web Based Backup

*** The Problem

Frontier (optionally) backs up all the changed GDB’s each day. Unfortunately, they reside on the same machine as frontier. This is not a good thing for the terminally lazy, as my recent system adventures might prove. I was very nervous until I got the few databases that weren’t backed up off the machine recovered.

*** Possible Solutions

Solution #1 is to save GDBs to a shared drive. It’s ok, but not a completely elegant approach. For instance, the data is still on your lan. Off site backups are a good thing too.

Solution #2 is to use the built in http or xml-rpc server to do remote backups.

If you’ve seen the Qube, they present a checkbox list of items to back up, you select what you want and your web browser downloads an archive with the backed up files. Restores are a multipart form upload. This is elegant. I want it in frontier, but automatic.

*** Proposed Architectures

Client == machine to be backed up.
Server == machine with big tape drive.

  • Push. The client machines upload the appropriate GDBs whenever they feel like it.
  • Pull. The server queries the client as to the databases that they wish to upload. The client returns with a list of databases. This could trigger the push, or then the server asks for each GDB individually.

Push is good from a security standpoint, although it could be an issue if two client machines hit the server at once with GDBS that will saturate the incoming connection for any length of time. Using push also means that machines that are not always connected could backup when they are online.

Pull is good for the server scheduling the uploads, so that the GDB’s can be done serially if that is necessary, or in parallel if bandwidth permits.

I would think that gzip encoding might be a very useful thing for this application.

No comments

No comments yet. Be the first.

Leave a reply

You must be logged in to post a comment.