ここでは、監視フォルダーが様々なバックアップおよび回復シナリオに与える影響、これらのシナリオの制限事項と結果、およびデータ損失を最小限に抑える方法について説明します。
監視フォルダー は、監視フォルダー階層内の次のいずれかのフォルダー内のファイルを操作する、設定済みのサービス操作を呼び出すファイルシステムベースのアプリケーションです。
ユーザーまたはクライアントアプリケーションは、まず入力フォルダーにファイルまたはフォルダーをドロップします。 次に、サービス操作によってファイルが処理のためにステージフォルダーに移動されます。 指定された操作が実行されると、変更されたファイルが output フォルダーに保存されます。 正常に処理されたソースファイルは保存用フォルダーに移動され、失敗した処理ファイルは失敗フォルダーに移動されます。 監視フォルダーの Preserve On Failure
属性が有効な場合は、処理に失敗したソースファイルは保存用フォルダーに移動されます(監視フォルダーエンドポイントの設定を参照)。
監視フォルダーをバックアップするには、ファイルシステムをバックアップします。
このバックアップは、データベースまたはドキュメントストレージのバックアップ/リカバリプロセスとは無関係です。
ここでは、監視フォルダーのファイル操作プロセスについて説明します。 リカバリ計画を立てる前に、このプロセスを理解することが重要です。 この例では、監視フォルダーの Preserve On Failure
属性が有効になっています。ファイルは、到着した順序で処理されます。
次の表は、プロセス全体での 5 つのサンプルファイル (file1、file2、file3、file4、file5) のファイル操作を示しています。 この表では、x 軸は Time 1 や T1 などの時刻を表し、y 軸は Input などの監視フォルダー階層内のフォルダーを表しています。
フォルダー |
T1 |
T2 |
T3 |
T4 |
T5 |
T6 |
T7 |
---|---|---|---|---|---|---|---|
必要情報 |
file1, file2, file3, file4 |
file2, file3, file4 |
file3, file4 |
file4 |
empty |
file5 |
empty |
ステージ |
empty |
file1 |
file2 |
file3 |
file4 |
empty |
file5 |
出力 |
empty |
empty |
file1_out |
file1_out, file2_out |
file1_out, file2_out |
file1_out、file2_out、file4_out |
file1_out、file2_out、file4_out |
失敗 |
empty |
empty |
empty |
empty |
file3_fail, file3 |
file3_fail, file3 |
file3_fail, file3 |
保存 |
empty |
empty |
file1 |
file1, file2 |
file1, file2 |
file1, file2, file4 |
file1, file2, file4 |
次のテキストでは、毎回のファイル操作について説明します。
T1: 4 つのサンプルファイルが入力フォルダーに配置されます。
T2:サービス操作により、file1 が操作対象としてステージフォルダーに移動されます。
T3:サービス操作により、file2 が操作対象としてステージフォルダーに移動されます。file1 の結果は出力フォルダーに配置され、file1 は保存用フォルダーに移動されます。
T4:サービス操作により、file3 が操作対象としてステージフォルダーに移動されます。file2 の結果は出力フォルダーに配置され、file2 は保存フォルダーに移動されます。
T5:サービス操作により、file4 が操作対象としてステージフォルダーに移動されます。file3 の操作は失敗し、file3 はサービス操作により失敗フォルダーに配置されます。
T6:サービス操作により、file5 が入力フォルダーに配置されます。file4 の結果は出力フォルダーに配置され、file4 は保存フォルダーに移動されます。
T7:サービス操作により、file5 が操作対象としてステージフォルダーに移動されます。
監視フォルダーのファイルシステム全体を別のファイルシステムにバックアップすることをお勧めします。
ここでは、監視フォルダーを復元する方法について説明します。 監視フォルダーは、1 分以内に完了する短時間のみ有効なプロセスを呼び出すことがよくあります。 このような場合、1 時間ごとに行われたバックアップを使用して監視フォルダーを復元しても、データの損失は防げません。
例えば、T1 時にバックアップを取り、T7 時にサーバが失敗した場合、file1、file2、file3、および file4 は既に操作されています。 T1 で取得したバックアップで監視フォルダーを復元しても、データの損失は防げません。
より新しいバックアップを実行した場合は、ファイルを復元できます。 ファイルを復元する際は、現在のファイルが存在する監視フォルダー階層フォルダーを考慮します。
ステージ: このフォルダー内のファイルは、監視フォルダーの復元後に再処理されます。
入力:このフォルダー内のファイルは、監視フォルダーの復元後に再処理されます。
結果: このフォルダー内のファイルは処理されません。
出力: このフォルダー内のファイルは処理されません。
保存: このフォルダー内のファイルは処理されません。
次の方法を使用すると、監視フォルダーの復元時に、出力と入力フォルダーのデータの損失を最小限に抑えることができます。
出力フォルダーと失敗フォルダーを頻繁に(例えば 1 時間ごとに)バックアップして、結果ファイルと失敗ファイルの損失を防ぎます。
監視フォルダー以外のフォルダーに入力ファイルをバックアップします。 これにより、output フォルダーと failure フォルダーのどちらにもファイルが見つからない場合に、回復後にファイルを確実に使用できるようになります。 ファイルの命名スキームが一貫していることを確認します。
例えば、出力を%F.
拡張子で保存する場合、出力ファイルは入力ファイルと同じ名前になります。これは、操作する入力ファイルと、再送信が必要な入力ファイルを判断するのに役立ちます。 結果フォルダに file1_out ファイルのみが表示され、file2_out、file3_out および file4_out が表示されない場合は、file2、file3 および file4 を再発行する必要があります。
使用可能な監視フォルダーのバックアップがジョブの処理に要する時間より古い場合は、監視フォルダーを作成し、自動的に入力フォルダーにファイルを配置するようにシステムに許可する必要があります。
使用可能な最新のバックアップが十分に最新でない場合、バックアップ時間はファイルの処理に要する時間より短く、監視フォルダーが復元されると、ファイルは次のいずれかの段階で操作されます。
ファイルがステージ 1 にある場合は、ファイルが操作されます。 ファイルがステージ 2 または 3 にある場合は、操作を再実行するために入力フォルダーに配置します。
ファイルの操作が複数回発生した場合は、データの損失は防止されますが、結果が重複する場合があります。
監視フォルダーの動的で継続的に変化する性質により、1 日以内にバックアップされたファイルを使用して監視フォルダーの復元を行う必要があります。 ベストプラクティスは、結果をバックアップし、入力フォルダーをサーバーに保存し、入力ファイルを追跡して、失敗した場合にジョブを再送信できるようにすることです。