質問/問題

CRX の 1.4.1 または 1.4.2 のオンラインバックアップの作成方法は?

回答/解決策

オンラインバックアップ

詳細には、「オンラインバックアップ」を参照してください。

次の JVM パラメーターがあることを確認してください。

-Dcom.day.crx.NioFileCopy=false

異なるソースディレクトリの使用

上記のドキュメントでは、デフォルトの CRX/CQ インストールが使用されることを想定しています(スタンドアロンまたはクイックスタートを使用)。別の設定を使用する場合は、バックアップソースディレクトリが一致しない可能性があります。この場合、バックアップを作成するときに、ソースディレクトリを URL で設定する必要があります。バックアップソースディレクトリの URL パラメーターは、「installDir」です。次に例を示します。

  • 新しいバックアップを作成します(サーバー上でバックアップが完了すると、コマンド(curl)が返されます。
curl -b login.txt -f -o progress.txt -d "action=add&zipFileName=backup.zip&installDir=/cq/data"  "http://localhost:7402/crx/config/backup.jsp"

共有ディレクトリもバックアップに含める必要がある場合は(通常は含めます、データストアを含むように)、共有ディレクトリはバックアップソースディレクトリ(installDir)のサブディレクトリである必要があります。これは、デフォルトのインストール例です。これ以外の場合は、一つの解決策として、バックアップソースディレクトリ内の共有ディレクトリにソフトリンクを作成します。

別のターゲットディレクトリの使用

バックアップツールは、バックアップ ZIP ファイルを常にディレクトリ <repository/../../.. に作成します。>、これはバックアップソースディレクトリの親ディレクトリではない場合があります。CRX がこのフォルダーへの書き込み権限があることを確認してください。別のアプリケーションサーバー(JBoss など)を使用している場合は、ターゲットディレクトリが書き込み可能でないため、オンラインバックアップが期待どおりに動作しない可能性があります。この場合、ホットフィックスまたはパッチされた backup.jsp ファイルについて、Day サポートに依頼してください。

curl -b login.txt -f -o progress.txt "http://localhost:4502/crx/config/backup.jsp?action=add&zipFileName=backup.zip&targetDir=/Cq5/cq5"

フォルダーに直接書き込むには(zip ファイル内ではない):

curl -b login.txt -f -o progress.txt "http://localhost:4502/crx/config/backup.jsp?action=add&zipFileName=&targetDir=/Cq5/cq5"

古いファイルがそのディレクトリにある場合、予期せぬエラーが発生する可能性があるため、新しいバックアップを行う前には targetDir が常にクリアされていることを確認します。


CRX2.x
curl リクエストにパラメーター targetDir を追加し、バックアップをストアするパスを指定します。

リポジトリの複製

CRX 1.4.x のみ:最初の(元の)リポジトリがまだ実行している間にバックアップを復元し、CRX/CQ を起動する場合と、元のリポジトリと復元された(新規)リポジトリの間に TCP/IP 接続がある場合は、例外がスローされます。この問題を解決するには、起動する前に、復元されたリポジトリにあるすべてのファイル **/listener.properties および cluster_node.id を削除します。

アルゴリズム

オンラインバックアップでは、次のアルゴリズムが使用されます。

  • zip ファイルを作成すると、最初に一時ディレクトリが作成されます。このディレクトリは「backup.」で始まり、「.temp」で終了します。
  • すべてのファイルは、ソースディレクトリからターゲットディレクトリ(または zip ファイル作成時には一時ディレクトリ)にコピーされます。このサブプロセスの進行状況バーのインジケーターは、zip ファイル作成時は 0% ~ 70%、または zip ファイルの作成時でない場合は 0% ~100% を表示します。
  • zip ファイルが作成されていない場合は、特別な名前のファイル「backupInProgress.txt」がターゲットディレクトリに作成されます(このマーカーファイルはバックアップが完了すると削除されます)。
  • ZIP ファイルが作成されていない場合は、ターゲットディレクトリ内の古いファイルは削除されます。古いファイルは、ソースディレクトリに存在しません。
  • ファイルは、4 つのステージのターゲットディレクトリにコピーされます。
  • 最初のコピーステージ(ZIP ファイルを作成する場合の進行状況インジケーターが、0%~63%または ZIP ファイルが作成されていない場合は、0%~90%)では、リポジトリが正常に実行されている間に、すべてのファイルが同時にコピーされます。
  • 2 番目のコピーステージでは(ZIP ファイルを作成する場合の進行状況インジケーターが、63%~66.5%または ZIP ファイルが作成されていない場合は、90%~95%)最初のコピーステージが開始されたため、ソースディレクトリで作成または変更されたファイルのみコピーされます。リポジトリのアクティビティによっては、ファイルがまったく存在しない場合や、適度な数のファイルが存在する場合があります(通常は最初のファイルのコピーステージに多くの時間を要するため)。
  • 3番目のコピーステージでは(ZIP ファイルを作成する場合の進行状況インジケーターが、66.5%~68.6%または ZIP ファイルが作成されていない場合は、95%~98%)2 番目のコピーステージが開始されたため、ソースディレクトリで作成または変更されたファイルのみコピーされます。リポジトリのアクティビティによっては、ファイルがまったく存在しない場合や、非常に少量のファイルが存在する場合があります(通常は 2 番目のファイルのコピーステージは速いため)。
  • 1 から 3 のファイルのコピーステージは、リポジトリが実行されている間に、すべて同時に完了されます。4 番目と最後のファイルのコピーステージは、まずリポジトリ書き込み操作をロックします(書き込み操作は一時停止されます;例外はスローされませんが)。3 番目のコピーステージの開始以降にソースディレクトリで作成または変更されたファイルのみがコピーされます。リポジトリのアクティビティに応じて、これはまったくファイルがないか、非常に少数のファイルです(通常は、2 番目のファイルのコピーステージが高速であるため)。その後、リポジトリのアクセスが続行されます。進行状況インジケーターは、zip ファイルを作成する場合は 68.6% ~ 70% を表示し、zip ファイルが作成されていない場合は 98% ~ 100% を表示します。
  • zip ファイルが作成されると、一時ディレクトリを使用してこれが実行されます。進行状況インジケーター 70% ~ 100%。一時ディレクトリが削除されます。

このアルゴリズムは、予告なく将来のバージョンで変更される可能性があります。

影響を受けるバージョン

CRX 1.4.1 および 1.4.2、CRX 2.x

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー