il problema con SourceRebels risposta è che slapcat(8)
non garantisce che i dati siano ordinato per ldapadd(1)
/ldapmodify(1)
. Dalla pagina man:
The LDIF generated by this tool is suitable for use with slapadd(8).
As the entries are in database order, not superior first order, they
cannot be loaded with ldapadd(1) without first being reordered.
Inoltre utilizzando uno strumento che utilizza i file di back-end per il dump del database e quindi utilizzando uno strumento che carica il ldif attraverso il protocollo LDAP non è molto coerente.
io suggerirei di usare una combinazione di slapcat(8)
/slapadd(8)
Oldapsearch(1)
/ldapmodify(1)
. La mia preferenza andrebbe al secondo in quanto non ha bisogno di un accesso shell al server LDAP o di spostare i file in giro.
Per esempio, dump database da un server master sotto dc = maestro, dc = com e caricarlo in un server di backup
$ ldapsearch -Wx -D "cn=admin_master,dc=master,dc=com" -b "dc=master,dc=com" -H ldap://my.master.host -LLL > ldap_dump-20100525-1.ldif
$ ldapadd -Wx -D "cn=admin_backup,dc=backup,dc=com" -H ldap://my.backup.host -f ldap_dump-20100525-1.ldif
La bandiera -W sopra richiede password LDAP admin_master tuttavia dal momento che stiamo reindirizzando uscita in un file non vedrai il prompt - solo una riga vuota. Vai avanti e digita la tua password admin_master admin e funzionerà. La prima riga del file di output dovrà essere rimossa (Immettere la password LDAP :) prima di eseguire ldapadd.
Ultimo suggerimento, ldapadd(1)
è un collegamento fisico a ldapmodify(1)
con il flag -a
(aggiungi) attivato.
-Wx non ha funzionato per me durante il reindirizzamento a un file. Sostituzione -Wx con -w ha funzionato alla grande. –
Non mi piace mettere le password sulla riga di comando perché di solito finiscono nella cronologia della shell ... – sberder
D'accordo, ma quella era l'unica cosa che funzionava per me. –