ファイル slapd.replog はスタンドアローン LDAP デーモン slapd(8) により作成されるもので、ローカルデータベースに変更があった 場合に、このファイルに変更内容を書き込んでおき、このファイル の内容にもとづいて1つ以上のレプリカ slapd への反映が行われます。このファイルは0個以上のレコードから成っています。 各レコードは slapd データベースに対して行われた更新、追加、削除の内容を持っています。 このファイルはスタンドアローン複製デーモン slurpd(8) が読み込んで処理することを想定しています。 レコード間は空行によって分けられていて、 個々のレコードは次に示すフォーマットになっています。
レコードの始めには変更を反映するレプリカを示す次のフォーマットの行が 1つ以上あります。
replica: <hostname[:portnumber]>
その後に、変更が生じた時刻を示す次のフォーマットの行が続きます。 時刻は 1970 年 1月 1 日 00:00:00 (GMT) からの秒数として与えられていますが、 この時刻を一意にするために小数が追加される場合もあります。 この時刻を一意にする処理は slapd が行うのでなく、slurpd が replog ファイルのコピーを作成する際にすべての時間を一意にするために付加します。
time: <integer[.integer]>
その後に変更されたエントリの識別名(DN)が与えられます。
dn: <distinguishedname>
その後に変更の種類が与えられます。
changetype: <[modify|add|delete|modrdn]>
最後に変更情報自身が与えられます。 このフォーマットは先に示される変更の種類に依存します。 changetype が modify である場合は次のフォーマットのいずれかになります。 属性の追加は次のようになります。
add: <attributetype> <attributetype>: <value1> <attributetype>: <value2> ... -
属性値の置換は次のようになります。
属性値の削除は次のようになります。
delete: <attributetype> <attributetype>: <value1> <attributetype>: <value2> ... -
この属性値の削除において attributetype 行が与えられていない場合は すべて属性が削除されます。
changetype が add である場合は次のフォーマットになります。
<attributetype1>: <value1> <attributetype1>: <value2> ... <attributetypeN>: <value1> <attributetypeN>: <value2>
changetype が modrdn である場合は次のフォーマットになります。
newrdn: <newrdn> deleteoldrdn: 0 | 1
ここで deleteoldrdn が 1 である場合は、古い rdn で使われていた属性を エントリから削除することを意味し、0 の場合は rdn に使わないながらも 値をエントリに残すことを意味します。
changetype が delete である場合、レコードに追加される情報はありません。
このフォーマットは ldif(5) に記述のある LDAP Directory Interchange Format でもあります。
ファイル slapd.replog へのアクセスは ファイル slapd.replog.lock に対する flock(3) の利用により同期化されます。このファイルを読み書きするプロセスは、 このロックの協定に従わなければなりません。
replica: truelies.rs.itd.umich.edu replica: judgmentday.rs.itd.umich.edu time: 797612941 dn: cn=Babs Jensen,dc=example,dc=com changetype: add objectclass: person cn: babs cn: babs jensen sn: jensen replica: truelies.rs.itd.umich.edu replica: judgmentday.rs.itd.umich.edu time: 797612973 dn: cn=Babs Jensen,dc=example,dc=com changetype: modify add: description description: the fabulous babs replica: truelies.rs.itd.umich.edu replica: judgmentday.rs.itd.umich.edu time: 797613020 dn: cn=Babs Jensen,dc=example,dc=com changetype: modrdn newrdn: cn=Barbara J Jensen deleteoldrdn: 0