Backup and recovery

This chapter describes the commands and processes you use to back up and recover your Helix Core Server. For information about multi-server backup and recovery, see the Backing up and upgrading services section under Deployment architecture.

If you are using Helix Core Extensions, see Backup of server extensions in the Helix Core Extensions Developer Guide.

Warning

To reduce the risk of data loss,

  • Validate your backup procedures and follow them.

  • Take checkpoints and rotate journals on a regular basis. See Checkpoint files and Journal files.

Tip

If your site is very large (gigabytes of db.* files), creating a checkpoint might take a substantial amount of time. Therefore, consider:

  • only creating a checkpoint at the end of each work week, while rotating the journal file during your nightly backup

  • performing checkpoints on a separate instance of your Helix Core p4d Server database. See the Perforce Knowledge Base article, Offline checkpoints.

Version files versus database files (metadata)

Helix Core Server stores two kinds of data: versioned filesClosed Source files stored in the depot, including one or more revisions to each file. Also known as archive files, archives, and depot files. Versioned files typically use the naming convention 'filename,v' or '1.changelist.gz'. and database files, which are metadataClosed The data stored by Helix Core Server that describes the file revisions in the depot, where they get their content from (see lazy copy), and the current state of client workspaces, protections, groups, users, labels, streams, and branches. Metadata is stored in the server database and is separate from the archive files that users submit..

  • Versioned files are files submitted by Helix Core Server users. Versioned files are stored in directory trees called depots.

    The P4ROOT environment variable represents the root directory of Helix Core Server installation. Each depot is a subdirectory under the P4ROOT directory.

    By default, the versioned files for a given depot are located in a tree of directories beneath this subdirectory.

    For an alternative location, see The server.depot.root configurable section of Set a depot location.

  • Database files contain metadata, such as the history and present state of the versioned files. Database files track changelists, opened files, client workspace specifications, branch and stream mappings, labels, and more.

    Database files appear as db.* files in the top level of the server root directory. Each db.* file contains a single, binary-encoded database table.