Appendix A Perforce Server (p4d) ReferenceThe first three forms of the command invoke the Perforce background process ("Perforce server"). The fourth form of the command is used for system administration tasks involving checkpointing and journaling.After successful startup, p4d does not normally exit. It merely outputs the following startup message :On failed startup, p4d returns a nonzero error code.Also, if invoked with any of the -j checkpointing or journaling flags, p4d exits with a nonzero error code if any error occurs.If you attempt to use Zeroconf and mDNS (multicast DNS) is not available, only the service registration fails. The error is logged in the server log, and the server continues with startup.
Register the server as a zero-configuration (Zeroconf) service. Overrides P4ZEROCONF setting. Run from inetd on UNIX Irreversibly reconfigure the Perforce server (and its metadata) to operate in Unicode mode. Do not use this flag unless you know you require Unicode mode. See the Release Notes and Internationalization Notes for details. -c command Lock database tables, run command, unlock the tables, and exit. Journal-checkpoint; create checkpoint without saving/truncating journal. -jr file -jrc file Journal-restore with integrity-checking. Because this option locks the database, this option is intended only for use by replica servers started with the p4 replicate command. Read bunch lines of journal records, sorting and removing duplicates before updating the database. The default is 5000, but can be set to 1 to force serial processing. This combination of flags is intended for use with by replica servers started with the p4 replicate command. -f -jr file Ignore failures to delete records; this meaning of -f applies only when -jr is present. This combination of flags is intended for use with by replica servers started with the p4 replicate command. Compress (in gzip format) checkpoints and journals. -A auditlog Specify an audit log file. Overrides P4AUDIT setting. Default is null. -Id description A service description (optional) that will be advertised as a zero-configuration (Zeroconf) service. Use with -0. Overrides P4DESCRIPTION setting. -In name A service name (required) that will be advertised as a zero-configuration (Zeroconf) service. Use with -0. Overrides P4NAME setting. -J journal -L log -p port -r root Specify the server root directory. Overrides P4ROOT. Default is current working directory. -v subsystem=level Set server trace flags. Overrides value P4DEBUG setting. Default is null.
• On all systems, journaling is enabled by default. If P4JOURNAL is unset when a server starts, the default location for the journal is $P4ROOT/journal. If you want to manually disable journaling, you must explicitly set P4JOURNAL to off.
•
• Checkpointing and journaling preserve only your Perforce metadata (data about your stored files). The stored files themselves (the files containing your source code) reside under P4ROOT and must be also be backed up as part of your regular backup procedure.
• If your users are using triggers, don't use the -f (non-forking mode) flag; the Perforce server needs to be able to spawn copies of itself ("fork") in order to run trigger scripts.
• After a hardware failure, the flags required for restoring your metadata from your checkpoint and journal files can vary, depending on whether data was corrupted.
• Because restorations from backups involving loss of files under P4ROOT often require the journal file, we strongly recommend that the journal file reside on a separate filesystem from P4ROOT. This way, in the event of corruption of the filesystem containing P4ROOT, the journal is likely to remain accessible.
• The database upgrade flag (-xu) can require considerable disk space. See the Release Notes for details when upgrading.
• Zeroconf service registration requires support for mDNS (multicast DNS) and DNS-SD (DNS-based service discovery) on the server machine, such as Bonjour (for OS X), Bonjour for Windows (for Windows), or Avahi (for Linux or UNIX).
To checkpoint a server with a non-default journal file, the -J argument (or the environment variable P4JOURNAL) must match the journal file specified when the server was started. To create a compressed checkpoint from a server with files in directory P4ROOT To create a compressed checkpoint with a user-specified prefix of "ckp" from a server with files in directory P4ROOT To restore metadata from a compressed checkpoint named checkpoint.3.gz for a server with root directory P4ROOT To advertise availability as a zero-configuration service p4d -0 -In "Artists\' storage" -Id "Use this server for art assets"