it-artikel:linux:automatische-datensicherung-der-lokalen-ldap-datenbank-anfertigen
Differences
This shows you the differences between two versions of the page.
— | it-artikel:linux:automatische-datensicherung-der-lokalen-ldap-datenbank-anfertigen [2022-08-31 12:30] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Automatische Datensicherung der lokalen LDAP Datenbank anfertigen ====== | ||
+ | |||
+ | Das ist nur ein Beispiel wie man mit wenig Aufwand sich die lokalen LDAP (OpenLDAP) Daten (komplette Datenbank) automatisiert wegsichern kann. | ||
+ | |||
+ | Es sichert die LDAP Daten auf ZWEI WEGEN. Der erste Weg bedient sich dem reinen LDAP Protokoll und versucht so viele Daten wie möglich abzusaugen. Operational Attribute werden auf diesem Wege jedoch nicht ausgegeben. Daher halte ich diese Methode nicht für sehr Sinnvoll. Allerdings wurde ich angehalten die Daten dennoch auch auf diesem WEge zu sichern. Methode zwei sichert die LDAP Datenbank über einen DIREKTEK Zugriff auf die OpenLDAP Datenbank und " | ||
+ | |||
+ | |||
+ | ==== / | ||
+ | |||
+ | <code bash backup-ldap-dit.sh> | ||
+ | #!/bin/bash | ||
+ | #set +x | ||
+ | ######################################################################## | ||
+ | # Backup-Script für den LDAP DIT | ||
+ | # / | ||
+ | # Das Script soll über crontab (/ | ||
+ | # Alle wichtigen Daten sind über Variablen am Anfang dieses Scripts konfiguriert | ||
+ | # werden. | ||
+ | # | ||
+ | # Letzte Änderungen: | ||
+ | # ======================== | ||
+ | # 2009-07-06 A.Werner ursprüngliches Script etwas umgeschrieben damit | ||
+ | # es besser konfigurierbar wird. (Variablen) | ||
+ | # | ||
+ | # 2009-09-23 A.Werner ADD: | ||
+ | # damit lässt sich definieren wie lange backup | ||
+ | # files aufbewahrt werden sollen. | ||
+ | # | ||
+ | # | ||
+ | # 2009-10-23 A.Werner FIX: | ||
+ | # Arbeit setzt vorraus dass es ein solches File | ||
+ | # gibt, da es sonst zum fehler kommt. | ||
+ | # Daher wird nun das temp file mit " | ||
+ | # zuvor angelegt. | ||
+ | # | ||
+ | # 2009-11-02 A.Werner FIX: | ||
+ | # cat $file | xargs > $file ergibt eine leere | ||
+ | # Datei! Darum musste eine separate temp datei | ||
+ | # her. | ||
+ | # | ||
+ | # | ||
+ | ####################################################################### | ||
+ | # CONFIGURE HERE ! ! ! | ||
+ | ####################################################################### | ||
+ | # | ||
+ | # Enter Backup-Destination directory here! TRAILING SLASH (/) IS A MUST! | ||
+ | # | ||
+ | DESTINATION='/ | ||
+ | |||
+ | # | ||
+ | # Enter retention time here! how long should i keep backup files before | ||
+ | # deleting them ? | ||
+ | # | ||
+ | RETENTIONDAYS=' | ||
+ | |||
+ | # Enter your LDAP Manager DN (maybe ROOT DN) here. This LDAP Object needs | ||
+ | # read permissions in the LDAP DIT to query all data for backup. | ||
+ | # If not using your LDAP Manager (ROOT DN) then you will have to check ACLs. | ||
+ | # | ||
+ | LDAPMANAGER=' | ||
+ | |||
+ | #This file must contain the LDAP Managers Password in CLEARTEXT. | ||
+ | # Make sure this File is only readable by ROOT !!! | ||
+ | # | ||
+ | LDAPMANAGERPASSWD='/ | ||
+ | |||
+ | #Using SSL/TLS ? Set to ' | ||
+ | # | ||
+ | TLS=' | ||
+ | |||
+ | |||
+ | ########################################### | ||
+ | D=`date +%F-%H%M` | ||
+ | |||
+ | ############# | ||
+ | #### Delete older files that exceed the retention time | ||
+ | ############# | ||
+ | |||
+ | OLDFILES=`mktemp` | ||
+ | MYARGS=`mktemp` | ||
+ | |||
+ | find " | ||
+ | |||
+ | #echo " | ||
+ | |||
+ | if [ $(cat $OLDFILES | ||
+ | cat $OLDFILES | xargs >" | ||
+ | rm `cat " | ||
+ | fi | ||
+ | |||
+ | # cleaning temp files | ||
+ | rm " | ||
+ | rm " | ||
+ | |||
+ | ############# | ||
+ | #### Backup DIT | ||
+ | ############# | ||
+ | |||
+ | # Strategie 1: | ||
+ | # | ||
+ | # ANMERKUNG A.WERNER: Ich halte diese Methode für schlecht, | ||
+ | # da wichtige Datenfelder nicht angezeigt und damit | ||
+ | # auch nicht gesichert werden. | ||
+ | ldappw=`cat " | ||
+ | |||
+ | if [ " | ||
+ | # if using TLS/SSL | ||
+ | ldapsearch -D " | ||
+ | else | ||
+ | # if NOT using TLS/SSL | ||
+ | ldapsearch -D " | ||
+ | fi | ||
+ | |||
+ | # Strategie 2: | ||
+ | # | ||
+ | slapcat -l " | ||
+ | |||
+ | ############# | ||
+ | #### Secure the Backup files and compress them | ||
+ | ############# | ||
+ | chmod 400 " | ||
+ | gzip -f " | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | --- // | ||
+ | |||
+ | |||
+ | {{tag> | ||
+ | |||
+ | |||
+ | |||