Enhanced Backup Tool

Today, Ingres' backup tools create multiple files and often they output in multiple locations. In order to do a proper restore, you need the right files that align with each other. For instance, a checkpoint creates a checkpoint, dump, and config file. Getting the files misaligned (with any one of the 3 files dump/checkpoint/config not from the same checkpoint) means the restore fails. This is disaster. Similarly, if any of the 3 files are corrupt, data loss is likely.

This project is to put a wrapper around the existing backup tools to make them a bit easier to use. For instance, have the backup output files sha1sum'ed temporarily stored in a directory, and then tar & gzip or b2zip'ed together. The tool will have to intelligently check disk space prior to doing so and fail gracefully with a useful error message if there is not enough disk space to create this backup archive. A meta data file will also be included to contain the date/time of the backup image, which database, etc.

A stretch objective for this project will be to offer gpg encryption of the file to protect backup images with a passphrase. This is expected to be interesting to those who want to protect their data even when the backup images are transferred off-site to a less secure storage facility. Future work will include signing the backup images with openssl.

This project will be implemented in Bourne shell.

The idea is making backing up and restoring ingres as simple as calling one command (iibackup/iirestore) and much more robust (since sha1sum's will ensure the files are intact).