p4 pull
このコマンドを使用して、Helixサーバのマスターサーバのメタデータやバージョン化ファイルを
取得してレプリカサーバに複製したり、保留中の転送処理に関するステータス情報を
表示したりすることができます。ただし、コミットサーバでレプリカからプルする場合は、
特殊な構文を使用する必要があります。ほとんどの場合、サーバの複製には
p4 pull
よりもp4
replicate
の方が適切です。
レプリカでコミットサーバからプルする場合の構文
p4 [g-opts] pull [-J prefix] [-i interval] [-b interval] [-T excluded_tables] [-P serverid]
p4 [g-opts] pull -u [-i interval -b interval --batch=number --min-size=number --max-size=number --trigger]
p4 [g-opts] pull -l [-s | -j [-J prefix]]
p4 [g-opts] pull -d -f file -r revisionp4 [g-opts] pull -L [-i interval]
p4 [g-opts] pull -R [file] p4 pull -T
コミットサーバでレプリカからプルする場合の構文
p4 pull -u -t target [-i interval -b interval]
説明
p4 pull
コマンドには、以下のような構文のパターン(バリアント)があります。
説明 |
---|
p4 [g-opts] pull [-J prefix] [-i interval] [-b interval] [-T excluded_tables] [-P serverid] 1番目のバリアントは、 |
p4 [g-opts] pull -u [-i interval -b interval --batch=number --min-size=number --max-size=number --trigger] 2番目のバリアントは、 |
p4 [g-opts] pull -l [-s | -j [-J prefix]] 3番目のバリアントは、スケジュールされたファイル転送に関する情報を表示します。 |
p4 [g-opts] pull -d -f file -r revision 4番目のバリアントは、スケジュールされたファイル転送をキャンセルします。 |
p4 [g-opts] pull -L [-i interval] 5番目のバリアントは、ジャーナルレコードを、ターゲットサーバのジャーナルファイルからではなく、
ローカルのジャーナルファイル( |
p4 [g-opts] pull -R 失敗したすべての転送処理をもう一度実行します |
p4 [g-opts] pull -R file 指定されたファイルの失敗した転送処理をもう一度実行します |
テスト目的以外でp4 pull
がコマンドラインから実行されることは
ほとんどありません。代わりにstartup.N
構成可能変数を設定し、
レプリカサーバが起動するたびに
p4 pull
プロセスが起動するようにしてください。
マスターサーバまたはレプリカサーバのどちらかを停止すると、
レプリカサーバはステートファイルという小さいテキストファイルの中に
最新のジャーナルの位置を記録します。デフォルトでは、ステートファイルは
state
という名前でレプリカサーバのルートディレクトリに格納されます。
statefile
で構成可能変数p4 configure
を設定することにより、
別のファイル名を指定できます。
ジャーナルおよびファイル内容の取得
p4 pull
コマンドは、P4TARGET
により指定されたターゲットサーバから
ジャーナルレコードまたはファイル内容のどちらかを取得するよう、
現在のレプリカサーバに指示します。
レプリカサーバの中には、ジャーナルレコードとファイル内容の両方は必要ないものもあります。
例えば、オフラインのチェックポイント設定に使用するレプリカサーバでは、
ファイルの内容を転送する必要はありません。
メタデータとファイルコンテンツの両方を複製するには、
2つのp4 pull
コマンドを同時に実行する必要があります。
この場合、p4 pull
を(-u
オプションを付けずに)1回実行してマスターサーバのメタデータを複製し、
さらにp4 pull
を(-u
オプションを付けて)1回以上実行してサーバの
バージョンファイルを複製します。
-i
オプションは、次の更新までのポーリング間隔(単位は秒)を指定します。-i
が指定されない場合、p4 pull
はポーリング間隔を1として実行した後に終了します。-b
オプションは、pull実行の失敗後に待機する時間を指定します。-b
が指定されていない場合、p4 pull
は60秒ごとに再試行されます。-u
オプションを使用して、ファイルコンテンツを取得する必要があることを指定します。 このオプションが指定されない場合は、ジャーナルレコードのみが取得されます。--batch
オプションを使用して、1回の要求でプルスレッドが処理するファイルの数を指定します。 通常、デフォルト値の1で十分です。 長い遅延が発生する構成の場合は、このフラグに大きな値を設定すると、サイズの小さな ファイルを大量に処理する際に、アーカイブの転送速度が上がる可能性があります。 (このオプションの使用には、バージョン15.2以上のマスターとレプリカの両方が必要です)
-T
オプションは、複製しないテーブルを除外します。
例えばビルドファームサーバの場合、db.haveテーブル、db.working
テーブル、
db.resolveテーブルを複製する必要はありません。
待ち状態のファイル転送処理を削除するには、p4 pull -d -f
file -r rev
を使用します。
このコマンドは、マスターに回復不可能なエラーがあるために待ち状態のファイル転送が
繰り返し失敗する場合に有効です。
rpl.compress
構成可能変数を設定して、p4
pull
を使用して転送された
ジャーナルレコードのデータを圧縮することができます。
ステータス情報を得る
待ち状態のファイル内容転送のリストを表示するには、
-l
オプションを使用します。-l
とともに-s
が指定されると、スケジュールされた
ファイル転送の概要が表示されます。追加の行で、少なくとも1つの作業中の転送を含む
最も古いチェンジリスト番号を指定します。
これは、レプリカサーバにアーカイブ内容の転送のラグがどれくらあるかのヒントになります。
オペレータは、p4 journalcopy -l
、p4 pull -l -j
、
p4 pull -l -s
コマンドを実行することができます。
オペレータはこれらのコマンドを使用して、複製状況を確認することができます。
File transfers: n active/m total, bytes: nnn active/mmmmm total. Oldest change with at least one pending file transfer: n
例えば、以下が出力されたとします。
File transfers: 1 active/63 total, bytes: 745 active/23684 total.
これは、63のアーカイブファイルの転送が作業中で、そのうちの1つが現在アクティブになっており、 転送が現在アクティブに進行中している745の転送には23,684バイトが 必要であることを示しています。
-l
とともに-j
が指定されると、現在のレプリカとそのマスターに関する
カレントジャーナルの状態、ステートファイルの最終更新時刻、およびサーバの
ローカル時刻とタイムゾーンが報告されます。
以下に例を示します。
Current replica journal state is: Journal jjj, Sequence: sssss. Current master journal state is: Journal jjj, Sequence: sssss. The statefile was last modified at: 2012/01/10 14:23:23. The Server time is currently: 2012/01/10 14:23:23 -0800 PST
jjj
の値はジャーナル番号を指定します。
sssss
は、そのジャーナルのオフセットを指定します。
オプション
|
取得の失敗後に再試行するためのポーリング間隔を秒数で指定します。 このオプションが指定されていない場合、pullは60秒後に再試行されます。 |
|
ジャーナルレコードの代わりにアーカイブファイルを転送します。このオプションを省略すると、 このコマンドはジャーナルレコードを取得します。1つのレプリカサーバで、p4 pull -uコマンドを繰り返し実行することができます。 |
|
このオプションを使用して、1回の要求でプルスレッドが処理するファイルの数を指定します。 長い遅延が発生する構成の場合は、このフラグにデフォルト値よりも 大きな値を設定すると、サイズの小さなファイルを大量に処理する際に、 アーカイブの転送速度が上がる可能性があります。 デフォルト: |
|
これらのオプションで呼ばれたプルスレッドは、これらのオプションで指定したデータサイズの 範囲のファイルをプルします。デフォルトのサイズ単位はバイトですが、「2K」のように、K、M、G、Tなどの 修飾子も使用することができます。最大および最小サイズの例を参照してください。 |
|
|
|
作業中のファイル内容転送を中止します。ただし、 注意
これは、通常のHelixサーバファイルと
リビジョンデータではなく、
アーカイブファイルとリビジョンになります。
|
|
ファイル内容を取得するポーリング間隔を秒数で指定します。 最も短い間隔は1秒です。このオプションを省略すると、 コマンドは1回のみ実行されて終了します。 間隔を |
|
ローテートされたジャーナルファイルのプレフィックスを指定します。
構成可能変数 マスターサーバがデフォルトではないローテートされたジャーナルの位置を 使用している場合、これによりマスターサーバのジャーナルファイルの位置を 指定することができます。 |
|
転送がスケジュールされているファイルのリストを表示します。 このオプションを p4 pull -l(および |
|
レプリカとマスターにおけるカレントジャーナルの状態を表示します。 マスターにおけるジャーナルローテーションの処理中、
|
|
待ち状態のファイル内容転送の概要を表示します。
このリストが予想外に長いまたは増加している場合は、
追加で |
|
通常 |
|
指定サーバの 以前のリリースでは、このオプションはフィルタ仕様で設定されたフィルタを確認していました。
この確認はもう必要ではありません。このオプションは、以前のリリースの
サポート継続のために保持されました。
これは、複数のサーバでフィルタ構成を共有する場合にも便利です。
この場合、 |
-R
|
p4 pull -R file: 指定されたファイルの失敗した転送処理をもう一度実行します p4 pull -R: 失敗したすべての転送処理をもう一度実行します 注意
|
|
レプリカサーバのジャーナルレコードから除外するデータベーステーブル
( 複数のテーブルを指定するには、リストを二重引用符で囲み、
テーブル名をスペースで区切ります。テーブル名は、カンマで区切ることもできます。
例えば、 |
--trigger
|
|
-t target |
コミットサーバでp4 pull -lを実行しても、エッジサーバからアーカイブをプルできない場合は、以下のコマンドを手動で実行します。 p4 pull -u -t target 各項目の意味は以下のとおりです。
|
|
「グローバルオプション」を参照してください。 |
使用上の注意点
ファイル引数でリビジョン指定子を使用できるか? | ファイル引数でリビジョン範囲を使用できるか? | 最低限必要なアクセスレベル |
---|---|---|
適用外 |
適用外 |
|
複製環境で稼働するようにHelixサーバを設定する方法については、 『Helix Coreサーバ管理者ガイド』の 「複製」を参照してください。
最大サイズと最小サイズを指定する場合の例
>startup.2=pull -u -i 1 --batch=1000 --min-size=1 --max-size=2047 startup.3=pull -u -i 1 --batch=5 --min-size=2048 --max-size=4096 startup.4=pull -u -i 1 --batch=5 --min-size=4097
関連コマンド
起動時に |
|
あるサーバから別のサーバにメタデータを複製する |
|
ジャーナルレコードまたはチェックポイントレコードを未加工のフォームで表示する |
|
ジャーナルデータをレプリカサーバのローカルファイルシステムにコピーする |