- How can I prevent from such entires and how can I recognize them
without importing?
It's easiest just to let slapadd tell you.
So I understand, I make a dry-run (slapadd -u) to test the backup?
I tried this, but got no error, only if I make a real import, then slapadd throws the error.
(The following import I've tested with BDB configuration.)
Real import: ---------------- debld02:~ # slapadd -f /etc/openldap/slapd.conf -q -l /backup.ldif _#################### 100.00% eta none elapsed 19m11s spd 2.2 M/s Closing DB...Error, entries missing! entry 1156449: ou=a,ou=b,ou=c,ou=root debld02:~ # echo $? 1
Quick and dry-run import: ------------------------------------ debld02:~ # slapadd -f /etc/openldap/slapd.conf -u -q -l /backup.ldif .#################### 100.00% eta none elapsed 03m56s spd 10.8 M/s debld02:~ # echo $? 0
Dry-run import without quick option: --------------------------------------------------- debld02:~ # slapadd -f /etc/openldap/slapd.conf -u -l /backup.ldif .#################### 100.00% eta none elapsed 04m04s spd 10.4 M/s debld02:~ # echo $? 0
So I get no error after dry run import, while the backup is damaged. Do I misunderstand anything?
- How can I remove this entry (esp. in production DB without
downtime), because a delete show following messages:
~ # ldapdelete -x -h localhost -w password -D cn=admin,ou=root 'cn=cname,ou=a,ou=b,ou=c,ou=root' ldap_delete: Other (e.g., implementation specific) error (80) additional info: could not locate parent of entry
and if I try to add this missing node, then I get: ldapadd -x -h localhost -w password -D"cn=admin,ou=root" -f test.ldif adding new entry ou=a,ou=b,ou=c,ou=root ldap_add: Already exists (68)
Use slapadd to add the missing entry. For back-mdb you don't need to stop slapd while running other slap* tools.
I'll try this!
Many thanks, Meike