gpBackMan is designed to manage backups created by gpbackup on Greenplum clusters.
The utility works with gpbackup_history.db
SQLite history database format.
The utility provides functionality for migrating data from the old gpbackup_history.yaml
YAML format to the new one. If you are using an old gpbackup
version that supports only YAML format, then use gpBackMan <= v0.6.0
.
gpBackMan provides the following features:
- display information about backups;
- display the backup report for existing backups;
- delete existing backups from local storage or using storage plugins (for example, S3 Storage Plugin);
- delete all existing backups from local storage or using storage plugins older than the specified time condition;
- clean deleted backups from the history database;
- migrate history database from
gpbackup_history.yaml
format togpbackup_history.db
SQLite format.
Available commands and global options:
./gpbackman --help
gpBackMan - utility for managing backups created by gpbackup
Usage:
gpbackman [command]
Available Commands:
backup-clean Delete all existing backups older than the specified time condition
backup-delete Delete a specific existing backup
backup-info Display information about backups
completion Generate the autocompletion script for the specified shell
help Help about any command
history-clean Clean deleted backups from the history database
history-migrate Migrate history database
report-info Display the report for a specific backup
Flags:
-h, --help help for gpbackman
--history-db string full path to the gpbackup_history.db file
--log-file string full path to log file directory, if not specified, the log file will be created in the $HOME/gpAdminLogs directory
--log-level-console string level for console logging (error, info, debug, verbose) (default "info")
--log-level-file string level for file logging (error, info, debug, verbose) (default "info")
-v, --version version for gpbackman
Use "gpbackman [command] --help" for more information about a command.
Description of each command:
- Delete all existing backups older than the specified time condition (
backup-clean
) - Delete a specific existing backup (
backup-delete
) - Display information about backups (
backup-info
) - Clean deleted backups from the history database (
history-clean
) - Migrate history database (
history-migrate
) - Display the report for a specific backup (
report-info
)
git clone https://github.com/woblerr/gpbackman.git
cd gpbackman
make build
./gpbackman <flags>
Environment variables supported by this image:
TZ
- container's time zone, defaultEtc/UTC
;GPBACKMAN_USER
- non-root user name for execution of the command, defaultgpbackman
;GPBACKMAN_UID
- UID of internal${GPBACKMAN_USER}
user, default1001
;GPBACKMAN_GID
- GID of internal${GPBACKMAN_USER}
user, default1001
.
make docker
or manual:
docker build -f Dockerfile -t gpbackman .
docker run \
--name gpbackman \
-v /data/master/gpseg-1/gpbackup_history.db:/data/master/gpseg-1/gpbackup_history.db
gpbackman \
gpbackman backup-info \
--history-db /data/master/gpseg-1/gpbackup_history.db
Run the unit tests:
make test
Run the end-to-end tests:
make test-e2e