wiki:bkp_ldap

Backuppiamo LDAP

Il metodo completo

Un modo per fare un backup completo (data e metadata) della directory LDAP è quello di usare slapcat(8)

root@server:~# /etc/init.d/slapd stop
root@server:~# slapcat > backup_ldap.ldif
root@server:~# /etc/init.d/slapd start

Il comportamento di slapcat è sostanzialmente diverso da ldapsearch: il secondo infatti richiede i dati al server tramite il protocollo ldap, il primo invece va a leggere direttamente i db che memorizzano i dati della directory ldap. E' quindi necessario fermare prima il server in modo che questo consolidi i dati (che magari erano conservati in memoria o nei file di log) e li salvi su disco. slapcat andrà a leggerli da disco (i vari file /var/lib/ldap/*.bdb nel nostro caso).

slapcat va utilizzato da un utente che ha i diritti sufficienti a leggere i file contenuti in /var/lib/ldap, deve inoltre essere in grado di fermare e di far ripartire il server, quindi in genere usiamo l'utente root.

Un buon path dove salvare il nostro backup (magari con l'aiuto dell'amico cron(8)) è /var/backups, così come fa lo script di backup installato dal pacchetto fuss-server (back_ldap), che viene eseguito in cron-daily e salva una settimana di copie nella directory suddetta.

Ripristino di una directory LDAP da un backup

E' preferibile ripristinare la directory a partire da un dump generato con slapcat che contiene tutte le informazioni presenti nell'ldap originale (compresi i metadata, quali ad esempio i timestamp delle varie modifiche). Useremo quindi slapadd(8):

root@server:~# slapadd -f /etc/ldap/slapd.conf -l backup_ldap.ldif

come visto dobbiamo indicare il file di configurazione del nostro server ldap (/etc/ldap/slapd.conf) e quindi il file ldif generato dal nostro precedente backup.

E' prudente farsi una copia di /var/lib/ldap, con l'occasione possiamo cancellare completamente il contenuto di /var/lib/ldap e quindi procedere ad un restore da una directory completamente vuota, evitando il rischio di lasciare al suo interno poi dei file vecchi e inutili.

Last modified 12 years ago Last modified on Dec 2, 2005, 9:17:20 PM