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 Helix Core Extensions, see Backup of server extensions in the P4 Extensions Documentation.
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 The data stored by P4 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 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 theP4ROOT
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. Eachdb.*
file contains a single, binary-encoded database table.