A newer version of this documentation is available.

View Latest

Enterprise Backup Archive Layout

The backup archive is used to store all backup data and this section describes the backup archive layout specification.

The top level directory of the archive is called the archive backup. The backup archive contains one or more backup repositories and a logs directory. The logs directory contains logging information for all cbbackupmgr commands run on the backup archive. Each backup repository contains backups for a specific cluster and each backup is done on a cluster incrementally. All backups in a backup repository are named with a timestamp that corresponds to the time the backup was taken. Since backups are taken incrementally this timestamp is always increasing. When a backup is taken it uses 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 the tool creates separate bucket backup folders 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}-{bucketuuid} (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, the tool reads these options, connects to the cluster, and backs up 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 contains data that looks something like the following example:

{
            "configuration": {
            "exclude_buckets": [],
            "only_include_buckets": ["bucket-1", "bucket-2"],
            "exclude_collections": [],
            "only_include_collections": [],
            "key_filter": "",
            "value_filter": "",
            "backup_cluster_config": true,
            "backup_bucket_config": true,
            "backup_views": false,
            "backup_indexes": true,
            "backup_full_text_indexes": true,
            "backup_data": true
            }
            }
bucket-config.json

This file contains 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 contains a backup of all design documents and views in a particular bucket.

indexes.json

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

full-text.json

This file contains 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 depend on the number of clients used during the backup. The number of clients is specified using the --threads flag in the cbbackupmgr backup command.