On Oct 26, 2011, at 1:13 PM, Howard Chu wrote:
Craig White wrote:
On Oct 26, 2011, at 12:00 PM, Howard Chu wrote:
Craig White wrote:
Having migrated to dynamic config, I'm looking for a reasonable way to restore in the event of a disaster.
The discussion last week got me curious and though I can slapcat -n 0 -l $SOME_FILE I can't slapadd this same file because it complains that I don't have a slapd.conf file, which of course is true... I haven't needed it with the dynamic configuration backend.
What's the minimum that I would need in a slapd.conf file so I can simply 'rm -fr /var/lib/ldap/*&& slapadd -l $SLAPD_BACKUP' ?
You don't need a slapd.conf file at all. You just need to tell it where to slapadd the configuration.
slapadd -F new/slapd.d -n0 config.ldif
# mkdir /etc/ldap/slapd.d
# slapadd -l slapcat_config.ldif -F /etc/ldap/slapd.d Available database(s) do not allow slapadd
There aren't any databases configured because I'm thinking recovery from a disaster, starting from a clean install as it were.
Pay attention. Even a monkey can copy text without omitting parts.
slapadd -F /etc/ldap/slapd.d -n 0 -l slapcat_config.ldif
---- sorry - I'm stupid but and am not a monkey.
It seems to me the reason that something like Zytrax gets traction is sometimes the seemingly very simple just doesn't work and then of course, there is the public chastisement that seemingly comes with the territory. All I am trying to do is have a disaster plan though admittedly, I can do pretty much the same because I have a scripted installation which I can use to set up the configuration again and just ldapadd (possibly slapadd) the main DSA data. This was something I could do easily with a flat file configuration but dynamic configuration has made this a real chore.
blow by blow... (have done slapcat -n 0 & -n 1 from my production machine and am working on a VM test, certificate names & paths have been fixed for the VM and adjustments made for apparmor)
root@ubuntu:/etc/ldap# rm -fr slapd.d/* root@ubuntu:/etc/ldap# rm -fr /var/lib/ldap/* root@ubuntu:/etc/ldap# slapadd -F /etc/ldap/slapd.d -n 0 -l slapcat_config.ldif olcDbDirectory: value #0: invalid path: No such file or directory slapadd: could not add entry dn="olcDatabase={2}hdb,cn=config" (line=1009): _################### 99.24% eta none elapsed none spd 5.4 M/s Closing DB... root@ubuntu:/etc/ldap# slapadd -F /etc/ldap/slapd.d -n 1 -l slapcat_data.ldif accesslog: "logdb <suffix>" missing or invalid. backend_startup_one (type=hdb, suffix="dc=ttinet,dc=local"): bi_db_open failed! (1) slap_startup failed
line 1009 in my slapcat_config.ldif... dn: olcDatabase={2}hdb,cn=config
but just above that line is the section... dn: olcOverlay={1}accesslog,olcDatabase={1}hdb,cn=config objectClass: olcOverlayConfig objectClass: olcAccessLogConfig olcOverlay: {1}accesslog olcAccessLogDB: cn=accesslog olcAccessLogOps: writes olcAccessLogPurge: 07+00:00 01+00:00 olcAccessLogSuccess: TRUE structuralObjectClass: olcAccessLogConfig entryUUID: 676a8df4-6db8-1030-90ba-11b63c1d4648 creatorsName: cn=admin,cn=config createTimestamp: 20110907161553Z entryCSN: 20110907161553.355785Z#000000#000#000000 modifiersName: cn=admin,cn=config modifyTimestamp: 20110907161553Z