Enterprise Backup Archive Layout

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.