Ir para o conteúdo
ou

Software livre Brasil

Heitor Medrado de Faria

 Voltar a Blog
Tela cheia

Backup OpenLDAP com o Bacula

9 de Fevereiro de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 728 vezes

Se você tem apenas uma configuração mais simples, utilizando apenas um backend, o comando slapcat irá produzir um dump completo para backup:

slapcat | gzip > backup.ldif

Para cenários mais elaborados (com múltiplos backends), o slapcat precisará do DN (distinguish name) de cada um dos backends locais.
Este script fará todo o trabalho:

#!/bin/bash

SLAPD_CONF=/etc/ldap/slapd.conf

# where to put files
BACKUP_PATH="/usr/local/backup/ldap_dumps"

# set more secure umask
umask 0027

if [ ! -r "${SLAPD_CONF}" ]; then
echo "Error: \"${SLAPD_CONF}\" cannot be read." >&2
exit 1
fi

dumpSuffix() {
suffix=${1//\"/}
number=$2
echo -n " - ${suffix}"
slapcat -b "${suffix}" | bzip2 > ${BACKUP_PATH}/dump.db${number}.ldif.bz2
echo "."
}

echo "searching for suffixes to dump"
# open slapd conf file and read line by line
dbNum=0
exec 3<${SLAPD_CONF}
while read line <&3; do # search for database declaration if echo $line | grep -e '^database' > /dev/null; then
(( dbNum++ ))
database=`echo $line | awk '{print $2}'`
# lets see if it's a bdb/hdb database (I don't care about anything else...)
if [ "$database" == "bdb" ] || [ "$database" == "hdb"]; then

# searching for suffix now
while [ -z $suffix ]; do
if read line <&3; then if echo $line | grep -e '^suffix' > /dev/null; then
# found suffix, now we can dump it somewhere
suffix=`echo $line | awk '{print $2}'`
dumpSuffix $suffix $dbNum
fi
fi
done
suffix=""
fi
fi
done
exec 3>&- # close file descriptor

exit 0

Fonte: http://wiki.bacula.org/doku.php?id=application_specific_backups:openldap


Fonte: http://www.bacula.com.br/?p=342

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.