Yesterday I spent some time getting re-acquianted with the Holland framework and source-code (which, by the way, was updated to 1.0.6 yesterday, congrats Holland peeps!). Holland is an open-source backup framework that was designed by individuals at Rackspace. I myself had a small hand in it while I was there. It was originally targeted at improving backups for MySQL. While it includes a number of MySQL backup plugins, Holland itself is a framework.

At PhotoBiz, I wear more hats than a MySQL DBA. One of those hats lately has been an OpenLDAP architect. One of the problems I have run into is how to properly backup OpenLDAP. There are actually a few ways but using slapcat seems to be the best way I have found. It gets the job done, but is not very extensible.

Enter Holland. Part of what I really like about Holland is the concept of Backup Sets. They offer the ability to segment backups, each of which can be configured with a different plugin and configuration. That includes the ability to keep more than one backup for a given backup-set.

The problem with just running slapcat is that you end up with this nice LDIF file, but where do you put it? You can just overwrite your last backup, but if the current backup fails for any reason, what are you to do? Holland takes care of that for us in various ways. You can have it delete the last backup only after the next one completes, for instance; and can have it keep more than one backup at a time.

As a result, Holland seemed like a great tool to use for the foundation of a simple OpenLDAP plugin, which is precisely what I have implemented. It is not currently in the main Holland source tree and it is still a work in progress. But, if you want to check it out, have a look at my Holland branch. Feedback is certainly welcome and, given that it is open source, feel free to contribute to it, or even better, to Holland itself!

As an obvious word of caution, use it at your own risk! Your data is not my responsibility nor my burden as this comes with no warranty!