30 lines
894 B
Bash
Executable file
30 lines
894 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# Configuration
|
|
# Le fichier sera nommé BASE_DIR/PREFIXEbasenameSUFFIXE
|
|
BASE_DIR=/var/backups/ldap
|
|
PREFIXE=sauv_ldap_
|
|
SUFFIXE=_$( date +%Y%m%d-%H%M )
|
|
DUREE_DE_VIE=100
|
|
|
|
# Vérifications initiales
|
|
if [ ! -d "$BASE_DIR" ]; then
|
|
echo "ERREUR : répertoire de sauvegarde inexistant : $BASE_DIR ." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Sauvegarde
|
|
# slapcat tourne sous l'utilisateur openldap pour éviter
|
|
# de créer des fichiers de BDD appartenant à root.
|
|
# cf: http://www.openldap.org/lists/openldap-software/200906/msg00039.html
|
|
su -c /usr/sbin/slapcat -s /bin/sh openldap | gzip >"$BASE_DIR/$PREFIXE"example.net"$SUFFIXE".ldif.gz
|
|
|
|
# Sauvegarde de la configuration
|
|
tar -czf "$BASE_DIR/$PREFIXE"conf-etc"$SUFFIXE".tar.gz /etc/ldap
|
|
|
|
# Suppression des anciennes sauvegardes
|
|
if [ "$1" = "--delete-olds" ]; then
|
|
find $BASE_DIR -name "$PREFIXE*" -mtime +$DUREE_DE_VIE -print0 | xargs -n 200 -r -0 rm -f
|
|
fi
|
|
|
|
|