16 lines
499 B
Bash
Executable File
16 lines
499 B
Bash
Executable File
#!/bin/bash
|
|
assert(){ [[ $? -eq 0 ]] || { [[ -n ${1} ]] && echo ${@} ; exit 1 ; } }
|
|
|
|
[[ -n "${LDAP_CONFIG_PASSWORD}" ]]
|
|
assert "FATAL: Please set LDAP_CONFIG_PASSWORD and retry."
|
|
|
|
# Count databases
|
|
DB_COUNT=$(ldapsearch -D cn=admin,cn=config -w "${LDAP_CONFIG_PASSWORD}" -b cn=config -LLL "(olcDatabase=mdb)" dn | tr -s '\n' | wc -l)
|
|
|
|
# Perform backup
|
|
for i in $(seq 0 ${DB_COUNT})
|
|
do slapcat -n ${i} -l /var/backups/ldap/${i}.ldif
|
|
done
|
|
|
|
echo "Backed up ${DB_COUNT} databases in /var/backups/ldap."
|