この例では、マッピングファイルを作成し、dsimport を使ってテキストファイルから情報の一括読み込みを行います。
LDAP ディレクトリにインポートするファイルは、社員の基本的情報を持つ会社のオンラインディレクトリサービスから抽出したファイルです。
このファイルの内容を例 5-1 に示します
Rob Green, rgreen@london.XYZ.com, phone x 44 1234, marketing communications manager Jean White, jwhite@london.XYZ.com, phone x44 1123, documentation manager Susan Brown, sbrown@london, phone (44) 123 45 67 00, technical writer Karen Gray, kgray@london, tel (44) 123 45 67 01, engineering project manager Steve Black, sblack@eng, x44 1122, software development engineer Felipe Diaz Gonzalez, fdgonzalez@eng, x41 2233, software development engineer Anne Marie de la Victoire, amvictoire@paris.xyz.com, x33 3344, software support engineer DURAND Pierre, pdurand@paris, tel 33 1133, software support engineer |
このファイルでは、1 人の社員が 1 行に定義されています。各行の情報は次の順になっています。
名前
電子メールアドレス
電話番号
仕事の内容
情報のレベルは社員ごとに必ずしも一定ではありません。たとえば、電子メールアドレスが完全に指定されていないものや、電話番号が内線番号だけのものがあります。また、姓が名前より前にある場合もあります。
LDAP ディレクトリに作成するエントリの情報レベルを一定にしたい場合は、必要に応じてソースファイルの訂正を行うか、インポート後に Deja ツールで訂正を行う必要があります。
ディレクトリ管理者は、名前付きコンテキスト ou=People, o=XYZ, c=US にすべての社員のエントリを作成するものとします。マッピングファイルでエントリを指定するトークンは、「Common」セクションの BASE_DN トークンです。
情報は一度だけインポートします。したがって、マッピングファイルに「Export」セクションを定義する必要はありません。「Dynamic」セクションは必須です。「Condense」セクションのオブジェクトクラスの定義も必須です。
ディレクトリ管理者が作成したマッピングファイルの例を表 5-2 に示します。
表 5-2 マッピングファイルの例
「Condense」セクションには、inetOrgPerson オブジェクトクラスの継承ツリーが指定されています。
「Build」セクションには、inetOrgPerson オブジェクトクラス固有の必須属性や、このオブジェクトクラスによって継承される必須属性がすべて指定されています。その他、このセクションには、ディレクトリ管理者が必要と判断したこのオブジェククラス固有の任意属性が指定されています。
「入力ファイル」で定義したマッピングファイルを使って、「マッピングファイル」で用意したファイルをインポートするには、次の引き数で dsimport を実行します。
# dsimport -h hostname -D cn=admin,o=xyz,c=us -w secret -m mapping.file -f EXAMPLE -t People input.file |
hostname は、ディレクトリのデータ格納を入れるホスト名です。
cn=admin, o=xyz, c=us は、ディレクトリ管理者のデフォルトの識別名です。
secret は、ディレクトリ管理者のパスワードです。
mapping.file は、入力情報に対するマッピングファイルです。
EXAMPLE は、マッピングファイルに指定したフロントエンドです。
People は、マッピングファイルに指定したテーブルです。
input.file は、入力情報のファイルです。
管理者の識別名とパスワードは、コマンド行に必ず指定する必要はありません。これらのパラメータを省略すると、dsimport がこの情報を dsserv.conf ファイルから読み取ります。この利点は、管理者の識別名とパスワードが ps コマンドによって表示されないことです。
このコマンドを実行すると、次のメッセージが表示されます。
Lines read: 9, processed: 8 Entries: added 10, modified 0, deleted 0, errors 0 |
行カウントには空白行も含みます。作成されるエントリ数は、ファイルの行数よりも多くなります。これは、dsimport コマンドがルートエントリ (この例では、o=xyz, c=us) を自動的に作成するためです。