Backup and recovery

This chapter describes the commands and processes you use to back up and recover your P4 Server. For information about multi-server backup and upgrade, see the Multi-server backup and upgrade section under Deployment architecture.

If you are using P4 Server Extensions, see Backup of server extensions

To reduce the risk of data loss,
  • Validate your backup procedures and follow them.

  • Take checkpoints and rotate journals on a regular basis. To learn more, see Checkpoint files and Journal files.

Checkpoint schedule and offline checkpoints

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 P4 Server database. See the Perforce Knowledge Base article, Offline checkpoints.

Version files versus database files (metadata)

P4 Server stores two kinds of data: versioned files 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 metadata Information that P4 Server maintains, such as who created file revisions in the depot, whether the file is a 'lazy copy,, 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 from their client workspace into the depot..

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

    The P4ROOT environment variable represents the root directory of P4 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.

In this section: