keevalbak

Philip Dorrell, 19 July 2008

Keevalbak: Python scripted on-line backups to Amazon S3

Keevalbak provides scriptable on-line backups to an Amazon S3 bucket ("keevalbak" stands for "Key/Value Backups"). It does this via the s3bucketmap.py Python dictionary interface to S3 (so, for example, it could easily be extended to use any other key/value storage service which has a Python dictionary interface).

Download

Keevalbak can be dowloaded from the keevalbak git repository at GitHub.

Sample code

For some sample code, see BackupExample.py. This sample code depends on access to a localenv module.

Design

Keevalbak is designed to be simple and reasonably robust.

A backup group is a set of backups consisting of a full backup and all incremental backups after that until the next full backup.

Version

Version 2 upgrade

The following only applies if you have already installed and used version 1 of keevalbak to do backups.

Version 2 of keevalbak is not compatible with version 1.x. This means that:

Therefore, if you have been using version 1 of keevalbak, the procedure for upgrading to version 2 is:

My reasons for not maintaining backwards compatibility between versions 1 and 2 are as follows:

Final note: the basic file layout has not changed substantially, and although versions 1 and 2 are incompatible for incremental backups and for restores, the "prune" functionality will work whether or not previous backups are version 1 or version 2.

Features

Limitations

Road Map