A newer version of this documentation is available.

View Latest

cbbackupmgr archivelayout

The backup archive layout specification

SPECIFICATION

The backup archive is used to store all backup data and the layout format is detailed below. The top level directory of the archive is called the archive backup. The backup archive will contain one or more backup repositories and a logs directory. The logs directory will contain logging information for all cbbackupmgr commands run on the backup archive. Each backup repository will contain backups for a specific cluster and each backup is done on a cluster incrementally. All backups in a backup repository will be names with a timestamp that corresponds to the time it was taken. Since backups are taken incrementally this timestamp will always be increasing. When a backup is taken it will use the backup configuration (backup-meta.json) in the specified backup repository to retrieve information for how the backup should be taken. If multiple buckets are specified to be backed up then there wil be separate bucket backup folders created for each bucket that is backed up.

+ / (Backup Archive)
  + example (Backup Repository)
    backup-meta.json
    + {year}-{month}-{day}T{hr}_{min}_{sec}.{nanos}-{tz_hour}_{tz_min} (Backup)
      + {bucket name}-{bucket uuid} (Bucket Backup)
        bucket-config.json
        views.json
        indexes.json
        full-text.json
        + data
          shard-0.fdb
          shard-1.fdb
          shard-2.fdb
          shard-3.fdb
      + {bucket name}-{bucket-uuid} (Bucket Backup)
        bucket-config.json
        views.json
        indexes.json
        full-text.json
        + data
          shard-0.fdb
          shard-1.fdb
          shard-2.fdb
          shard-3.fdb
    + {year}-{month}-{day}T{hr}_{min}_{sec}.{nanos}-{tz_hour}_{tz_min} (Backup)
      + {bucket name}-{bucket-uuid} (Bucket Backup)
        bucket-config.json
        views.json
        indexes.json
        full-text.json
        + data
          shard-0.fdb
          shard-1.fdb
          shard-2.fdb
          shard-3.fdb
      + {bucket name}-{bucket-uuid} (Bucket Backup)
        bucket-config.json
        views.json
        indexes.json
        full-text.json
        + data
          shard-0.fdb
          shard-1.fdb
          shard-2.fdb
          shard-3.fdb
  + logs (Logs folder)
    backup.log

FILE DESCRIPTIONS

backup-meta.json

This file is used to store the backup configuration for a backup repository. Each time a backup is run it will read these options, connect to the cluster, and backup data from the point where it last left off. All parameters in this file are specified when creating the backup repository. The backup configuration file will contain data that looks something like the example below.

{
  "configuration": {
    "exclude_buckets": [],
    "only_include_buckets": ["bucket-1", "bucket-2"],
    "exclude_collections": [],
    "only_include_collections": [],
    "key_filter": "",
    "value_filter": "",
    "disable_cluster_config": true,
    "disable_bucket_config": false,
    "disable_views": false,
    "disable_gsi_indexes": false,
    "disable_queries": true,
    "disable_ft_indexes": false,
    "disable_data": false,
    "allow_bucket_creation": false
  }
}
bucket-config.json

This file will contain a backup of the bucket configuration for the specified bucket. All bucket configuration parameters are stored in this file except for the bucket password.

views.json

This file will contain a backup of all design documents and views in a particular bucket.

indexes.json

This file will contain a backup of all global secondary indexes in a particular bucket.

full-text.json

This file will contain a backup of all full text indexes in a particular bucket.

shard-*.fdb

These are forestdb files that contain the cluster data. The amount of shards will depend on the amount of clients used during the backup. The amount of client is is specified with the --threads flag in the cbbackupmgr-backup command.

CBBACKUPMGR

Part of the cbbackupmgr suite