Używany: openldap-servers-2.4.23-34.el6_5.1.x86_64
Zadanie: utwórz skrypt crontab
do utworzenia pełnej kopii zapasowej zaplanowanej bazy danych.
1) slapcat
- utwórz plik w domyślnym formacie Berkeley DB.
2) slapcat
można to zrobić podczas slapd
działania (jeśli bdb/hdb
używana jest baza danych).
3) Aby przywrócić plik po slapcat
- należy go użyć slapadd
(nie ldapadd
).
4) slapcat/add
nie wymaga hasła.
5) slapadd
można to zrobić tylko po slapd
zatrzymaniu.
Przykład:
$ slapcat -f /etc/openldap/slapd.conf -b "dc=db_1" -l db_1_backup.ldif
$ slapadd -l db_1_backup.ldif
Zamiast slapcat/add
- rzućmy okiem na ldapsearch/add
:
1) ldapsearch
- tworzy plik z prawie takimi samymi informacjami jak slapcat
;
2) ldapadd
- może korzystać z pliku z ldapsearch
, nie wymaga slapd
zatrzymania;
3) ldapadd/search
- wymaga hasła.
Przykład:
$ ldapsearch -D "cn=root,dc=db_1" -W -b "dc=db_1" "dc=db_1" -LLL > db_1_backup2.ldif
$ ldapadd -x -D "cn=root,dc=db_1" -W -f db_1_backup2.ldif
Więc - pytanie brzmi:
1) Czy brakuje mi czegoś w tym opisie narzędzi?
2) Jaka jest jeszcze różnica między ldapadd/slapadd
i ladpsearch/slapcat
?
slapcat
zwraca pozycje w bazie danych (backend), które mogą, ale nie muszą być dobrze zdefiniowane.ldapsearch
domyślnie zwraca kolejność, w jakiej odpowiada serwer, przy OpenLDAP istnieje możliwość sortowania po stronie klienta (np.-S ""
) lub kontroli sortowania po stronie serwera (np.-E sss
jeśli jest obsługiwany i podlega pewnym drobnym pułapkom związanym z konfiguracją i schematem). Spec mówi wyniki wyszukiwania mogą być w dowolnej kolejności. Implementacja może zdefiniować domyślną kolejność, większość ludzi zakłada, że domyślną jest „rodzic przed dzieckiem”, dokumentuje to tylko OpenDS, AFAIK.slapcat
nie działa, jeśli masz nakładki, npmemberOf
. Więc jeśli zrobićslapcat
/slapadd
cykl członków nakładki będą już działać.źródło