Fazendo backup no OpenLDAP
Dica publicada em Banco de Dados / Avançado
Fazendo backup no OpenLDAP
Só uma pequena dica, principalmente para mim que provavelmente irei esquecer disso daqui a alguns dias! :)
Para fazer o backup do OpenLDAP (estou usando o Debian Sarge), uso a ferramenta slapcat, onde usando o backend bdb é possível fazer o backup com o serviço rodando (atenção, em alguns backends pode dar problema rodar o slapcat com o serviço rodando).
O slapcat gera um arquivo no formato LDIF, usado pelo OpenLDAP. Para isso uso a seguinte linha:
# /usr/sbin/slapcat -f /etc/ldap/slapd.conf -b "dc=domínio,dc=com" | bzip2 -9 > slapdb.ldif.bz2
Com isso no cron você pode ter backups diários, semanais ou como você escolher.
Para restaurá-lo uso a ferramenta slapadd, para isso é necessário ter o arquivo /etc/ldap/slapd.conf semelhante ao do servidor original (mesmo domínio, schemas e ACL), os arquivos de schema todos no lugar. Não sei garantir se é necessário o diretório /var/lib/ldap vazio, mas eu limpo antes de importar o backup de qualquer maneira.
Com o serviço desligado (é importante), uso o comando:
# bunzip2 slapdb.ldif.bz2 slapadd -l slapdb.ldif
Como superusuário, inicie o serviço e pronto, o backup está restaurado.
Para fazer o backup do OpenLDAP (estou usando o Debian Sarge), uso a ferramenta slapcat, onde usando o backend bdb é possível fazer o backup com o serviço rodando (atenção, em alguns backends pode dar problema rodar o slapcat com o serviço rodando).
O slapcat gera um arquivo no formato LDIF, usado pelo OpenLDAP. Para isso uso a seguinte linha:
# /usr/sbin/slapcat -f /etc/ldap/slapd.conf -b "dc=domínio,dc=com" | bzip2 -9 > slapdb.ldif.bz2
Com isso no cron você pode ter backups diários, semanais ou como você escolher.
Para restaurá-lo uso a ferramenta slapadd, para isso é necessário ter o arquivo /etc/ldap/slapd.conf semelhante ao do servidor original (mesmo domínio, schemas e ACL), os arquivos de schema todos no lugar. Não sei garantir se é necessário o diretório /var/lib/ldap vazio, mas eu limpo antes de importar o backup de qualquer maneira.
Com o serviço desligado (é importante), uso o comando:
# bunzip2 slapdb.ldif.bz2 slapadd -l slapdb.ldif
Como superusuário, inicie o serviço e pronto, o backup está restaurado.