cbbackupmgr-config - Creates and configures a new backup repository.
cbbackupmgr config [--archive <archive_dir>] [--repo <repo_name>] [--exclude-buckets <bucket_list>] [--include-buckets <bucket_list>] [--disable-bucket-config] [--disable-views] [--disable-gsi-indexes] [--disable-ft-indexes] [--disable-data]
Creates a new backup repository with a new backup configuration. The configuration created is used for all backups in this backup repository.
By default a backup configuration is created that backs up all the buckets in a cluster. Each bucket has its bucket configuration, views definitions, GSI index definitions, full-text index definitions, and data backed up. Specifying various flags, the config command can modify the configuration to backup a subset of the data.
Once a backup repository is created its configuration cannot be changed.
Below are a list of required and optional parameters for the config command.Required
- The directory where the new backup repository will be created. If it does not already exist, an attempt will be made to create it.
- The name of the new backup repository.
- Modifies the repository configuration to back up all buckets not specified in <bucket_list>. This flag cannot be specified at the same time as the --include-buckets flag. Takes a comma separated list of bucket names.
- Modifies the repository configuration to only back up the buckets specified in <bucket-list>. This flag cannot be specified at the same time as the --exclude-buckets flag. Takes a comma separated list of bucket names.
- Modifies the repository configuration to disable backing up view definitions for all buckets.
- Modifies the repository configuration to disable backing up gsi index definitions for all buckets.
- Modifies the repository configuration to disable backing up full-text index definitions for all buckets.
- Modifies the repository configuration to disable backing up all key-value data for all buckets.
The config command is used to create a backup repository and define the repositories backup configuration. In the examples below, the backup archive is located at /data/backups. Since this is the first backup repository we are creating in a new backup archive, we need to ensure that /data/backups is an empty directory. Archives are created automatically if an archive doesn't already exist at the archive path, but are only created if the directory at that path is empty. In order to create a backup repository called "example" with the default configuration use the following command:
$ cbbackupmgr config --archive /data/backups --repo example
Upon creation of a new backup repository there will be a new directory in the backup archive containing a backup configuration. You can see this new directory using the cbbackupmgr list command.
$ cbbackupmgr list --archive /data/backups Size Items Name 0B - + example
Using the optional parameters of the create command, you can modify the backup configuration settings. To create a backup repository with a backup configuration that only backs up the buckets "airline_data" and "ticket_prices" and does not back up bucket configuration data, you can run the following:
$ cbbackupmgr config --archive /data/backups --repo example \ --include-buckets airline_data,ticket_prices --disable-bucket-config
To create a backup repository with a backup configuration that backs up only data on all buckets, you can run the following command:
$ cbbackupmgr config --archive /data/backups --repo example \ --disable-bucket-config --disable-views --disable-gsi-indexes \ --disable-ft-indexes
Though not required, it is recommended that there is a single backup repository per cluster. Backup repositories are managed so that all backups can be taken incrementally and merged together as backup data ages. Backing up in this manner allows backups to transfer the least amount of data necessary which reduces back up time and cluster resource usage. For more details on backup strategies see Enterprise Backup Strategies.
When a backup repository is created, it should only be modified by the cbbackupmgr utility. Any modifications done outside of this utility can cause corruption of backup files.
Environment And Configuration Variables
- The config command creates a backup configuration file in the backup repository called backup-meta.json. This file contains the backup configuration for all backups run in the backup repository it was created in. It should never be modified and treated as a read-only file.