software

keevalbak

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.

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