この章では、データセット・ファイルで使用される言語について説明します。データセット・ファイルとは、Oracle Secure Backupのバックアップ対象となるデータを記述するテキスト・ファイルです。
この章では、次のトピックについて説明します。
Oracle Secure Backupのデータセット言語により、バックアップするファイルシステム・データを定義するための簡単なテキストベースの手段が提供されます。この言語の特徴は次のとおりです。
コメントは、シャープ記号(#)に続けてどこにでも指定できる。
データセット文は、次の構文を使用する。
statement-name [ statement-argument ]
statement-name
プレースホルダは、1つのデータセット文を表します。データセット文については、「データセット文」を参照してください。
文によっては、ネストしたブロックを始めることができる。ブロック内の文は、ブロックを始めた文に対してのみ適用されます。ネストしたブロックの文は、次の形式になります。
statement-name [ statement-argument ] { statement-name [ statement-argument ] ... }
エスケープ文字は、バックスラッシュ(\
)で表され、どこにでも指定でき、この次の文字に特別な意味を持たせないようにできる。
空白行を無視する。
例5-1は、brhost2上の各ディレクトリをバックアップするように記述したデータセット・ファイルのサンプルです。
例5-1 データセットのサンプル
# # A sample dataset file # exclude name *.backup # never back up directories or files exclude name *~ # matching *.backup and *~ include host brhost2 { # back up host brhost2 include path /usr1/home { # back up /usr1/home on brhost2, exclude path peter # skip subdirectory peter (relative path) exclude path /usr1/home/dinesh # also skip subdir dinesh (absolute path) } include path /usr2/home # also back up /usr2/home, including } # all subdirectories
次のトピックについて説明します。
例5-2に、バックアップする4つのホスト・システムを記述した複合データセット・ファイルを示します。/home
、/usr
、および/usr2
ディレクトリ内のすべてのファイルとそれらのディレクトリ内のサブディレクトリのすべてのファイルがバックアップされるように指定しています。
/usr/tmp
ディレクトリのファイルはすべてデータセットから除外されます。coreという名前のファイルと.bak
で終わる名前のファイルも、その存在する場所に関係なく、データセットから除外されます。
データセット・ファイルには、別のデータセット・ファイルのコンテンツを論理的にインクルードできます。include dataset
文を使用すると、参照によって別のデータセット・ファイルのコンテンツをインクルードできます。
例5-3に示すcommon-exclusions.ds
という名前のデータセット・ファイルのサンプルについて考えてみます。
これらの除外をデータセット・ファイルで使用するには、例5-4に示す文を使用します。
これらの除外を特定のパスのみに適用するには、例5-5に示すようにinclude
dataset
ディレクティブを中カッコで囲んで指定します。
バックアップの有効範囲を定義するには、インクルードのルールに使用する中カッコを使用できます。例5-6では、すべてのサーバーのパス/usr1
および/usr2
と、brhost3
のみの/usr3
および/usr4
がバックアップされます。なお、中カッコ内のルール間の順序は、ルールに影響しません。
例5-6 中カッコを使用した有効範囲の制限
# Common trees backed up on all servers: include path /usr1 include path /usr2 # Servers to back up; on brhost3, we also back up usr3 & usr4, too: include host brhost1 include host brhost2 include host brhost3 { include path /usr3 include path /usr4 }
追加の中カッコを使用して、ルールの有効範囲をさらに詳細に指定できます。例5-7では、brhost3
のみの/usr4
から.junkで終わるファイルを除外するように、例5-6を変更しています。
例5-7 ルール・セットの有効範囲の絞込み
# Common trees backed up on all servers: include path /usr1 include path /usr2 # Servers to back up; on brhost3, back up /usr3 and /usr4, but exclude *.junk # files in /usr4 only: include host brhost1 include host brhost2 include host brhost3 { include path /usr3 include path /usr4 { exclude name *.junk } }
ワイルドカード・パターンをexclude
path
またはexclude
name
文に指定すると、Oracle Secure Backupリリース10.3では、パス・セパレータを考慮しながらパターン・マッチングが試行されます。たとえば、パターンsrc/*.pl
を指定すると、src/a.pl
は除外されますが、src/tmp/b.pl
は除外されません。
旧リリースのOracle Secure Backupでの除外文のワイルドカード・パターン・マッチングでは、パス・セパレータは考慮されませんでした。たとえば、同じパターンsrc/*.pl
を指定すると、src/a.pl
もsrc/tmp/b.pl
も除外されます。
Oracle Secure Backupを旧リリースからリリース10.3にアップグレードした場合、既存のexclude
path
およびexclude
name
文は引き続き使用できます。旧リリースのOracle Secure Backupでバックアップから除外されたファイルおよびディレクトリの一部は、現在では除外されません。このため、バックアップ・ファイルは若干大きくなりますが、これまでどおりデータはすべてバックアップされます。