This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
slapd-supann/lib/save

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 ""