Perforceサーバ(P4D)リファレンス

概要

Perforceサービスの開始、およびチェックポイント/ジャーナル作成(システム管理)タスクの実行。

構文

p4d [ options ]
p4d.exe [ options ]
p4s.exe [ options ]
p4d -j? [ -z | -Z ] [ args ... ]

解説

コマンドの最初の3つのフォームは、Perforceバージョン化サービスを管理するバックグラウンドプロセスを実行します。4番目の形式のコマンドは、チェックポイントやジャーナルの作成を含むシステム管理タスクに使用します。

UNIXおよびMac OS X上での実行ファイルはp4dです。

Windows上での実行ファイルはp4d.exe(サーバとして動作)またはp4s.exe(サービスとして動作)です。

終了ステータス

起動に成功した後、通常、p4dは終了しません。起動メッセージ

Perforce server starting...

を出力し、バックグラウンドで動作します。

起動に失敗すると、p4dは0以外のエラーコードを返します。

また、-jオプション(チェックポイント/ジャーナル作成)付きで起動した場合も、エラーが発生すると、p4dは0以外のエラーコードを返して終了します。

オプション

サーバオプション

意味

-d

デーモンとして(バックグラウンドで)実行されます。

-f

(フォークなしの)シングルスレッドプロセスとして実行されます。

-i

UNIX上のinetdから実行されます。

-q

起動メッセージなどを表示せずに実行されます。

--pid-file[=file]

P4ROOTで指定されたディレクトリ内のserver.pidという名前のファイルにPIDを書き込むか、またはfileで指定されたファイルにPIDを書き込みます。これにより、多数のサーバインスタンスから1つを特定することが容易になります。

fileのパラメータには完全パスを指定できます。ファイルがP4ROOTにある必要はありません。

-xi

Perforceサーバ(およびサーバのメタデータ)をUnicodeモードで動作するように不可逆的に再構成します。Unicodeモードが必要でない限り、このオプションは使用しないでください。詳細については、リリースノート国際化対応情報を参照してください。

-xu

データベースをアップグレードして終了します。

-xv

低レベルのデータベース検証を実行し、終了します。

-xvU

高速検証が実行されます。データベーステーブルはロックせず、各テーブルのアンロック数がゼロであることだけ検証されます。

-xD [ serverID ]

当該サーバーの(server.idファイルに格納されている)サーバのserverIDを表示(または設定)し、終了します。

全般オプション

意味

-h-?

ヘルプメッセージを出力します。

-V

バージョン番号を出力します。

-A auditlog

監査ログファイルを指定します。P4AUDIT設定をオーバーライドします。デフォルト設定はnullです。

-Id description

p4 serverで使用するサーバの説明です。P4DESCRIPTION設定をオーバーライドします。

-In name

p4 configureで使用するサーバ名です。P4NAME設定をオーバーライドします。

-J journal

ジャーナルファイルを指定します。P4JOURNAL設定をオーバーライドします。デフォルト設定はjournalです。(ジャーナル作成を無効にする場合-J offを使用します。)

-L log

ログファイルを指定します。P4LOG設定をオーバーライドします。デフォルト設定はSTDERRです。

-p port

接続待ちのポートを指定します。P4PORTを書き換えます。デフォルト設定は1666です。

-r root

サーバールートディレクトリを指定します。P4ROOTを書き換えます。デフォルト設定は現在の作業ディレクトリです。

-v subsystem=level

トレースオプションを設定します。P4DEBUG設定の値をオーバーライドします。デフォルト設定はnullです。

-C1

通常は大文字と小文字を区別するプラットフォームにおいて、大文字と小文字を区別しないモードで動作するようサービスに強制します。

チェックポイントオプション

意味

-c command

データベーステーブルをロックしてcommandを実行し、テーブルをアンロックして終了します。

-jc [ prefix ]

ジャーナル-作成(Journal-create)を行い、チェックポイントと.md5ファイルを作成し、ジャーナルの保存/トランケートを行います。

-jd file

ジャーナル-チェックポイント(Journal-checkpoint)。ジャーナルの保存/トランケートを行わずに、チェックポイントと.md5ファイルを作成します。

-jj [ prefix ]

ジャーナルのみ(Journal-only)。チェックポイントを作成せずに、ジャーナルの保存またはトランケートを行います。

-jr file

ジャーナル-復元(Journal-restore)。チェックポイントやジャーナルファイルからメタデータを復元します。

コマンドラインで-r $P4ROOTオプションを指定する場合、-rオプションを-jrオプションよりも前に記述する必要があります。

-jv file

fileで指定されるチェックポイントまたはジャーナルの整合性を、次の点において検証します。

  • チェックポイントまたはジャーナルは冒頭から末尾まで読み取り可能かどうか。

  • 圧縮されている場合、正常に解凍できるかどうか。

  • MD5ファイルがある場合、チェックポイントまたはジャーナルのMD5と一致するかどうか。

  • 想定されるヘッダとトレーラが存在するかどうか。

このコマンドは、ジャーナルを再生しません。

圧縮されたジャーナルまたは圧縮されたチェックポイントの整合性を検証するには、-zオプションと-jvオプションを組み合わせて使用します。

-z

チェックポイントとジャーナルを圧縮します(gzip形式を使用)。

このオプションを-jdオプションと併用すると、Perforceは自動でそのチェックポイントファイルに拡張子.gzを追加します。そのため

p4d -jd -z myCheckpoint

コマンドでは、myCheckpoint.gzmyCheckpoint.md5の2つのファイルが作成されます。

-Z

チェックポイントを圧縮します(gzip形式を使用)が、ジャーナルは圧縮せずにレプリカサーバで使用できるようにします。したがって、このオプションは-jdではなく-jcに適用されます。

ジャーナル復元オプション

意味

-jrc file

整合性チェックを伴うジャーナル-復元(Journal-restore)。このオプションではデータベースがロックされるため、p4 replicateコマンドにより起動されたレプリカサーバのみで使用されることが意図されています。

-b bunch -jr file

ジャーナルレコードのbunch行を読み取り、ソートし、重複を削除した後にデータベースを更新します。デフォルトは5000ですが、1に設定してシリアル処理を強制することができます。このオプションの組み合わせは、p4 replicateコマンドにより起動されたレプリカサーバでの使用が意図されています。

-f -jr file

レコード削除の失敗を無視します。この意味での-fは、-jrがあるときにのみ適用されます。このオプションの組み合わせは、p4 replicateコマンドにより起動されたレプリカサーバでの使用が意図されています。デフォルトで、レコードの削除に失敗した場合ジャーナルの復元は中断します。

すべてのジャーナル復元コマンドについて、コマンドラインで-r $P4ROOTオプションを指定する場合、-rオプションを-jrオプションよりも前に記述する必要があります。

-m -jr file

レプリカネットワークへ転送する新しいリビジョンをスケジュールします。アーカイブファイルにp4 pull -uを使用し、メタデータにはp4 replicateを使用する環境でのみ必要です。p4 pullのみから作られる複製環境では必要ありません。

-s -jr file

復元されたジャーナルレコードを通常のジャーナルに記録して、サーバのジャーナルからそのサーバのダウンストリームにあるレプリカへとレコードが伝播されるようにします。このオプションの組み合わせはPerforceテクニカルサポートと共に使用することが意図されています。

複製とマルチサーバのオプオション

意味

-a host:port

マルチサーバ環境において、ライセンスと保護データを取得する認証サーバを指定します。P4AUTH設定をオーバーライドします。デフォルト設定はnullです。

-g host:port

マルチサーバ環境において、チェンジリスト番号を取得するチェンジリストサーバを指定します。P4CHANGE設定をオーバーライドします。デフォルト設定はnullです。

-t host:port

レプリカに対し、データをプルしてくるターゲット(マスター)サーバを指定します。P4TARGET設定をオーバーライドします。デフォルト設定はnullです。

-u serviceuser

レプリカに対し、マスターサーバとの通信時に指定されたserviceuserとして認証します。レプリカの操作は、サービスユーザに有効なチケットが与えられていなければ成功しません。

-M readonly

レプリカに対して、サービスはメタデータを読み取るコマンドを許可しますが、それを書き込むコマンドは許可しません。構成可能変数db.replicationの設定をオーバーライドします。


-D readonly -D shared -D ondemand -D cache -D none

レプリカに対し、-D readonlyレプリカはディポファイルを読み取るコマンドを許可しますが、それを書き込むコマンドは受け入れません。-D ondemandモードまたは-D sharedモード(この2つは同義です)で実行されているレプリカは自動的にメタデータを要求します。一方、ファイルについては、エンドユーザがファイルを要求した時のみ、ファイル転送をスケジュールします。-D cacheモードで実行されているレプリカの場合、ファイルの内容を参照するコマンドを許可しますが、新しいファイルを自動的に転送することはありません。-D noneモードで動作するレプリカはディポファイルへのアクセスを必要とするコマンドをすべて拒否します。構成可能変数lbr.replicationの設定をオーバーライドします。

ジャーナルのダンプ/復元のフィルタリング

意味

-jd file db.table

db.tableに保存されるデータのみが含まれるfileのチェックポイントを作成して、db.tableをダンプします。

-k db.table1,db.table2,... -jd file

1つのダンプfileに、これらの名前の各テーブルをダンプします。

-K db.table1,db.table2,... -jd file

ダンプfileに、これらの名前以外のすべてのテーブルをダンプします。

-P serverid -jd file

フィルターを読み込む元のserveridを指定し、p4d -jdにフィルターパターンを設定します(p4 help serverを参照するか、p4 help exportで説明される古い構文を使用します)。

このオプションは、フィルタ済みのレプリカをそのまま読み込む場合に有用です。

-k db.table1,db.table2,... -jr file

fileから復元します。-kオプションでリスト指定されるテーブル名のジャーナルレコードのみが含まれます。

-K db.table1,db.table2,... -jr file

fileから復元します。-Kオプションでリスト指定されるテーブル名のジャーナルレコードすべてが除外されます。

証明書の処理方法

意味

-Gc

サーバ用のSSL資格情報ファイルを生成します。プライベートキーおよび証明書ファイルをP4SSLDIRに作成し、終了します。

P4SSLDIRが、コマンドを起動するユーザが所有するディレクトリに設定され、そのユーザに対してのみ読み取り専用である必要があります。P4SSLDIRconfig.txtが存在する場合、特定の性質を持つ自己署名証明書が生成されます。

-Gf

サーバのパブリックキーのフィンガープリントを表示し、終了します。

管理者はこのフィンガープリントをエンドユーザに伝え、ユーザはp4 trustコマンドを使用して(接続先のサーバの)フィンガープリントが正確かどうかを知ることができます。

構成オプション

意味

-cshow

サービスを開始せずにdb.configの内容を表示します(サービスを実行せずにp4 configure show allserversを実行した場合と同じです。)

-cset server#var=val

サービスを開始せずにPerforceの構成可能変数を設定します。さらにオプションで、構成可能変数が適用されるサーバを指定できます

-cunset server#var

サービスを開始せずにPerforceの構成可能変数を設定します。さらにオプションで、構成可能変数が適用されるサーバを指定できます

(variable=valueのペアを指定する場合は、それらを引用符で囲みます。)

使用上の留意点

  • すべてのシステムで、ジャーナル作成はデフォルトで有効になっています。p4dの起動時にP4JOURNALが未設定の場合、ジャーナルが作成されるデフォルトの場所は、$P4ROOTになります。ジャーナル作成を手動で無効にするには、P4JOURNALを明示的にoffに設定しなければなりません。

  • チェックポイントの作成とジャーナルのトランケートは頻繁に行ってください。夜間バックアップ作業の一環として、できるかぎり毎日行います。

  • チェックポイントとジャーナル作成によって保存されるのは、Perforceのメタデータ(保存されているファイルに関する情報)に限られます。保存ファイルそのもの(ソースコードの含まれるファイル)はP4ROOTにあります。これも、日常のバックアップの手順の一環としてバックアップする必要があります。

  • ユーザがトリガを使用する場合は、-f(フォークなしモード)オプションを使用しないでください。トリガスクリプトを実行するには、Perforceサービスによるコピーの生成(「fork」)が可能でなくてはなりません。

  • ハードウェアが故障した場合、チェックポイントとジャーナルファイルからメタデータを復元するために必要なオプションは、データが破損しているかどうかによって異なります。

  • P4ROOTのファイルが消失した後にバックアップからデータ復旧を行う場合には、ジャーナルファイルが必要になることがよくあります。そのため、ジャーナルファイルは、P4ROOTとは別のファイルシステムに配置することを強くお勧めします。そのようにすれば、万一P4ROOTが存在するファイルシステムが破損しても、ジャーナルには引き続きアクセスすることできます。

  • データベースのアップグレードオプション(-xu)には、相当のディスク容量が必要な場合があります。アップグレードの際の詳細については、リリースノートを参照してください。

関連コマンド

サービスを起動します。接続待ちポートは1999、ジャーナル作成機能は有効、ジャーナル書き込み先はjournalfileです。

p4d -d -p 1999 -J /opt/p4d/journalfile

デフォルト以外のジャーナルファイルを用いてサーバのチェックポイントを作成します。-Jオプションの引数(または環境変数P4JOURNAL)は、サーバ起動時に指定したジャーナルファイルと合致していなければなりません。

チェックポイントの作成:

p4d -J /p4d/jfile -jc

または

P4JOURNAL=/p4d/jfile ; export P4JOURNALp4d -jc

ディレクトリP4ROOTのファイルを使用し、サーバから圧縮チェックポイントを作成します。

p4d -r $P4ROOT -z -jc

ディレクトリP4ROOTのファイルを使用し、サーバからユーザ指定のプレフィクス“ckp”を付けた圧縮チェックポイントを作成します。

p4d -r $P4ROOT -z -jc ckp

ルートディレクトリP4ROOTのサーバのチェックポイントcheckpoint.3からメタデータを復元します。

p4d -r $P4ROOT -jr checkpoint.3

(-rオプションを-jrオプションよりも前に記述する必要があります。)

ルートディレクトリP4ROOTのサーバの圧縮チェックポイントcheckpoint.3.gzからメタデータを復元します。

p4d -r $P4ROOT -z -jr checkpoint.3.gz

(-rオプションを-jrオプションよりも前に記述する必要があります。)