add "save" command

This commit is contained in:
Thomas NOËL 2014-11-09 23:52:40 +01:00
parent 684eed56c9
commit a95ac82a6d
2 changed files with 44 additions and 0 deletions

43
lib/save Executable file
View File

@ -0,0 +1,43 @@
#!/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: first argument must be an existing directory (is: $BASESAVEDIR)"
exit 1
fi
else
BASESAVEDIR=/var/backups
fi
SAVEDIR="${BASESAVEDIR}"/slapd-save-`date +%Y%m%dT%H%M%S`
echo "save slapd config and databases in ${SAVEDIR}"
mkdir -p "$SAVEDIR"
echo -n " export config in $SAVEDIR/config.ldif .."
slapcat -n0 -l"${SAVEDIR}"/config.ldif
echo "ok"
for i in `seq 1 $MAXDB`; do
echo -n " export database ${i} .."
if ! slapcat -n${i} -l"${SAVEDIR}"/db-${i}.ldif; then
echo "(none)"
true
else
echo "ok"
fi
done
echo "remove empty files .."
find "${SAVEDIR}" -size 0 -delete
echo "ok"
echo ""
echo "${SAVEDIR} contents:"
ls -l "${SAVEDIR}"
echo ""

1
lib/save.help Executable file
View File

@ -0,0 +1 @@
save all ldap databases to /var/backups/<date-iso>/