50 lines
1013 B
Bash
Executable File
50 lines
1013 B
Bash
Executable File
#!/bin/sh
|
|
# save all ldap databases to /var/backups/<date-iso>/
|
|
set -e
|
|
MAXDB=30
|
|
|
|
if [ -n "$1" ]; then
|
|
BASESAVEDIR="$1"
|
|
if [ ! -d "$BASESAVEDIR" ]; then
|
|
echo "ERR: le premier argument doit être un répertoire existant ($BASESAVEDIR)"
|
|
exit 1
|
|
fi
|
|
else
|
|
BASESAVEDIR=/var/backups
|
|
fi
|
|
|
|
SAVEDIR="${BASESAVEDIR}"/slapd-save-`date +%Y%m%dT%H%M%S`
|
|
|
|
echo "Sauvegarde de la configuration et des données slapd"
|
|
echo "dans le répertoire ${SAVEDIR}"
|
|
|
|
mkdir -p "$SAVEDIR"
|
|
|
|
echo " Export de la configuration dans $SAVEDIR/config.ldif .."
|
|
slapcat -n0 -l"${SAVEDIR}"/config.ldif
|
|
echo "ok"
|
|
|
|
for i in `seq 1 $MAXDB`; do
|
|
echo " Export de le base ${i} .."
|
|
if ! slapcat -n${i} -l"${SAVEDIR}"/db-${i}.ldif; then
|
|
echo "(vide)"
|
|
true
|
|
else
|
|
echo "ok"
|
|
fi
|
|
done
|
|
|
|
echo -n "Sauvegarde des certificats SSL .."
|
|
cp /etc/ldap/ssl/slapd.key /etc/ldap/ssl/slapd.pem ${SAVEDIR}
|
|
echo "ok"
|
|
|
|
echo "Efface les fichiers vides .."
|
|
find "${SAVEDIR}" -size 0 -delete
|
|
echo "ok"
|
|
|
|
echo ""
|
|
echo "${SAVEDIR} contient :"
|
|
ls -l "${SAVEDIR}"
|
|
echo ""
|
|
|