Ich bin ein Freund vom Plain text. Damit laesst sich IMHO immer noch am besten Arbeiten. Man kann es in alle denkbaren Formate umwandeln, umbiegen, exportieren, was auch immer, und ist deswegen was Backups angeht das Ziel meiner Wahl. Natuerlich habe ich bei dem LDAP-Server das /var/lib/ldap/ im Backuppath mit drin, aber es geht nichts ueber eine Textdatei in der die Werte nochmal als Plain text drinstehen; gleiches gilt uebrigens fuer MySQL-Datenbanken…
Die Backupdatei erstelle ich mit slapcat. Wichtig dabei ist zu beachten, dass die slap* Tools ganz anders arbeiten als die entsprechenden ldap* Gegenstuecke. Beispiel slapadd und ldapadd. Die ldap* Tools sind LDAP-Clients die ueber das LDAP-Protokoll auf die Datenbank zugreifen. Die slap* Befehle aber greifen direkt auf die lokalen Datenbankdateien zu, die Berkley DB = *.bdb Dateien in /var/lib/ldap/. Da die slap* Befehle direkt darauf zugreifen koennen Sie natuerlich nur auf dem Rechner ausgefuehrt werden auf dem der LDAP-Server laeuft, und es ist wichtig, dass der LDAP-Daemon nicht laeuft. Entsprechend ist auch das Backup-Skript was fuer den LDAP laeuft, einmal taeglich per Cron aufgerufen:
#!/bin/bash SLAPCAT=/usr/sbin/slapcat GZIP=/bin/gzip BACKUPDIR=/root/ldapbackup/ # Daemon stoppen /etc/init.d/slapd stop > /dev/null 2>&1 if [ $? != "0" ]; then logger -t "LDAP-Backup:" "Fehler beim Stoppen des slapd Daemons." exit 1 fi # Backup in Textdatei erzeugen $SLAPCAT > $BACKUPDIR/$(date +%Y%m%d)-ldapbackup.ldif if [ $? != "0" ]; then logger -t "LDAP-Backup:" "Fehler beim Schreiben der Backupdatei mit slapcat." exit 1 fi # Textdatei komprimieren $GZIP $BACKUPDIR/$(date +%Y%m%d)-ldapbackup.ldif if [ $? != "0" ]; then logger -t "LDAP-Backup:" "Fehler beim Komprimieren der erstellten Backupdatei." exit 1 fi # Daemon starten und wenn es ueberall keine Probleme gab dann Erfolgsmeldung in syslog /etc/init.d/slapd start > /dev/null 2>&1 if [ $? != "0" ]; then logger -t "LDAP-Backup:" "Fehler beim Starten des slapd Daemons." exit 1 else logger -t "LDAP-Backup:" "Das Backup der LDAP-Datenbank wurde erfolgreich durchgefuehrt." fi |