LDAP: स्‍लैपकट बनाम ldapsearch के साथ बैकअप


11

उपयोग किया गया: openldap-servers-2.4.23-34.el6_5.1.x86_64

टास्क: crontabअनुसूचित डेटाबेस पूर्ण बैकअप बनाने के लिए स्क्रिप्ट बनाएं।

1) slapcat- डिफ़ॉल्ट प्रारूप में फ़ाइल बनाएं, बर्कले डीबी।

2) दौड़ते slapcatसमय किया जा सकता है slapd(यदि bdb/hdbडेटाबेस का उपयोग किया जाता है)।

3) के बाद फ़ाइल को पुनर्स्थापित करने के लिए slapcat- इस्तेमाल किया जाना चाहिए slapadd(नहीं ldapadd)।

4) slapcat/addपासवर्ड की आवश्यकता नहीं है।

5) बंद slapaddहोने पर ही किया जा सकता है slapd

उदाहरण:

 $ slapcat -f /etc/openldap/slapd.conf -b "dc=db_1" -l db_1_backup.ldif
 $ slapadd -l db_1_backup.ldif

इसके बजाय slapcat/add- आइए नजर डालते हैं ldapsearch/add:

1) ldapsearch- के रूप में लगभग एक ही जानकारी के साथ फ़ाइल बनाता है slapcat;

2) ldapadd- से फ़ाइल का उपयोग कर सकते हैं ldapsearch, slapdबंद करने की आवश्यकता नहीं है ;

3) ldapadd/search- पासवर्ड की आवश्यकता है।

उदाहरण:

 $ 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

तो - सवाल है:

1) क्या मुझे इस उपकरण विवरण में कुछ भी याद नहीं है?

2) के बीच का अंतर और क्या है ldapadd/slapaddऔर ladpsearch/slapcat?

जवाबों:


12

अच्छा सारांश, कुछ अतिरिक्त बिंदु:

  • slapcatजो भी (स्थानीय) डायरेक्ट स्टोरेज बैकेंड से है, उसे बर्कले (hdb या bdb) नहीं होना चाहिए, यह OLC ( cn=config) के साथ भी काम करता है । यह एलडीआईएफ प्रारूप के लिए नम है । (प्रत्यक्ष से मेरा मतलब सीधे OpenLDAP द्वारा प्रबंधित है, उदाहरण के लिए SQL बैकएंड नहीं, भले ही यह स्थानीय रूप से संग्रहीत हो।)
  • ldapaddकि slapd की आवश्यकता है चल रहा है, slapaddआवश्यकता है कि यह नहीं है चल रहा है
  • ldapsearchकि आवश्यकता slapd है चल रहा है, slapcatअगर यह एक BDB बैकएंड साथ चल रहा है परवाह नहीं है, जैसा कि आप का उल्लेख किया

संक्षेप में:

  • slapcatएक अच्छा बैकअप प्राप्त करने का तरीका है जिसे आप जल्दी से बहाल कर सकते हैं, मास्टर पर डाउनटाइम के साथ (आप इसके चारों ओर विभिन्न प्रकार के प्रतिकृति सेट के साथ काम कर सकते हैं)। यह वही है जो आपको एक सामान्य बैकअप, और पूर्व-नवीनीकरण बैकअप के लिए उपयोग करना चाहिए।
  • ldapsearch(बिना +) आपको एक पोर्टेबल बैकअप मिलेगा जिसे आप संभवतः किसी अन्य निर्देशिका सर्वर में थोड़ी कठिनाई के साथ लोड कर सकते हैं, लेकिन यह केवल एक साधारण ओपनएएलएपी सेट में एक व्यवहार्य पुनर्स्थापना होगा (कोई प्रतिकृति नहीं, कोई विशेष ओवरले, कोई पुनर्लेखन नहीं), और यदि आप UUID को संरक्षित करने / मेटा-डेटा को बनाने / संशोधित करने की परवाह नहीं करते हैं। आपको किसी भी अतिरिक्त स्कीमा फ़ाइलों की आवश्यकता होगी जो आपके डेटा के साथ भी जाती हैं।
  • ldapadd(इसकी अन्य पहचान का उपयोग करके ldapmodify) आसानी से LDAP संशोधनों (ऑब्जेक्ट संशोधित, हटाएं और नाम बदलने) को लागू करने के लिए इस्तेमाल किया जा सकता है जो अकेले slapadd/ के साथ संभव या संभव नहीं slapcatहैं

अधिकांश व्यवस्थापक के लिए मुख्य विचार प्रत्येक मामले में एलडीआईएफ की थोड़ी अलग सामग्री से उत्पन्न होते हैं, और slapdचलने (या नहीं) की आवश्यकता होती है। अधिक महत्वपूर्ण अंतर हैं:

  1. slapcatयह तेज़ है क्योंकि यह केवल डेटाबेस को डंप करता है, LDAP प्रोटोकॉल ओवरहेड्स, प्रमाणीकरण, अभिगम नियंत्रण, ऑब्जेक्ट और समय सीमा, ओवरलैप को छोड़ देता है; और यह LDAP पदानुक्रम के अनुसार खोज नहीं करता है।
  2. slapaddतेजी से (फिर से, कोई एलडीएपी प्रोटोकॉल ओवरहेड्स) नहीं है, और इस मामले में कि आप एक ज्ञात-अच्छा बैकअप बहाल कर रहे हैं जो आप बड़े मोड में तेजी-q लाने के लिए त्वरित मोड ( ) में चला सकते हैं । आप स्कीमा चेकिंग ( -s) को अक्षम भी कर सकते हैं , हालांकि स्कीमा में छोटे बदलावों की तुलना में नोट या OpenLDAP संस्करणों के बीच डेटा सत्यापन अनसुना नहीं है।
  3. slapcatस्थानीय डेटाबेस तक ही सीमित है, यह अन्य निर्देशिकाओं (जैसे कि back-ldap, back-meta) को पार नहीं ldapsearchकरेगा। वही slapadd/ पर लागू होता है ldapadd
  4. ldapsearchडायनामिक विशेषताओं को लौटाएगा जो एक बैकएंड में संग्रहीत नहीं हैं, उदाहरण के लिए hasSubordinatesया ओवरले द्वारा बनाए रखने वाले (जैसे slapo-memberof)। आपको इनको लोड करने में समस्याएँ होंगी ldapadd(जैसे बिना उपयोगकर्ता-संशोधन के परिचालन गतिविधियाँ)। रिवर्टिंग (स्लैपो-आरडब्ल्यूएम) ldapsearchनिर्देशिका सामग्री के दृष्टिकोण को विकृत कर सकती है ।
  5. slapcatआंतरिक (परिचालन) विशेषताएँ शामिल हैं, यदि आप प्रतिकृति का उपयोग कर रहे हैं तो ये विशेषताएँ महत्वपूर्ण हैं। प्रतिकृति के साथ तो आप बैकअप पर कुछ हद तक निर्भर हैं, लेकिन यदि आप ldapaddअपने मास्टर को फिर से लोड करने के लिए उपयोग करते हैं, तो प्रत्येक वस्तु को प्रतिकृति (परिवर्तित ) द्वारा फिर से बनाया जाएगा, entryUUID entryCSNहालांकि आप विशेष "+" विशेषता के साथ ldapsearch(या allopओवरले) का उपयोग करके परिचालन विशेषताओं को शामिल कर सकते हैं , यह वही बात नहीं हैslapcat , ऐसा क्यों है, इसके लिए पिछला बिंदु देखें। इन विशेषताओं में डीएन और टाइमस्टैम्प बनाना / संशोधित करना भी शामिल है, जो कुछ अनुप्रयोगों के लिए महत्वपूर्ण हो सकता है।
  6. क्योंकि slapcatLDAP पदानुक्रम (निहित आदेश) का पालन नहीं करता है, इस बात की कोई गारंटी नहीं है कि इसके डेटा आदेश के साथ व्यवहार्य होने जा रहा है ldapadd- (भले ही आप परिचालन विशेषताओं को हटा दें, ldapaddशिकायत कर सकते हैं क्योंकि उप- निर्देश उनके वरिष्ठों (माता-पिता) के सामने आ सकते हैं । LDAP स्पेक्स के लिए माता-पिता का अस्तित्व होना आवश्यक है, लेकिन इस संबंध में अपरिभाषित खोज क्रम को भी छोड़ दें। नीचे हावर्ड की टिप्पणी देखें, OpenLDAP का slapaddचुपचाप कुछ बैकएंड के लिए अनियंत्रित डेटा का समर्थन करता है। एक चुटकी में आप slapaddत्रुटि विकल्प पर जारी रखने के साथ बार-बार उपयोग करने में सक्षम हो सकते हैं ( -c) जब तक कि सभी "आउट ऑफ ऑर्डर" माता-पिता नहीं बन जाते हैं, तब रोकना जब आपको कोई त्रुटि कोड 32 प्राप्त न हो (ऐसी कोई वस्तु नहीं)
  7. ldapadd एलडीएपी नियमों और ओवरले के अधीन है, उदाहरण के लिए संदर्भात्मक अखंडता, पॉलीपीसी (पासवर्ड नीति)
  8. slapcatबेस -64 एनकोडेड विशेषता मान का उपयोग करने के लिए कम से कम userPassword ( ::विशेषता नाम के बाद के साथ संकेत )
  9. ldapsearchLDIF स्वरूपण के लिए और अधिक विकल्प हैं, और अलग-अलग फ़ाइलों को लिखने के लिए बड़ी विशेषताएँ लिख रहे हैं। यह रेफरल और उपनाम भी संभाल सकता है ।

LDAP परिणाम आदेश अपरिभाषित है। स्लैपकाट और लैडस्केप दोनों ही मनमाने क्रम में प्रविष्टियाँ लौटा सकते हैं, न ही आउटपुट को लैडपैड के उपयोग के लिए उपयुक्त क्रम में होने की गारंटी है। slapadd के bdb / hdb / mdb ड्राइवरों के पास विशेष ऑर्डर करने के लिए मनमाना क्रम में इनपुट प्रक्रिया है, ldapadd नहीं करता है।
हिच

slapcatडेटाबेस (बैकएंड) ऑर्डर में प्रविष्टियां लौटाता है, जो अच्छी तरह से परिभाषित हो भी सकता है और नहीं भी। ldapsearchसर्वर द्वारा उत्तर में डिफ़ॉल्ट रिटर्न के द्वारा, OpenLDAP के साथ क्लाइंट-साइड सॉर्ट (जैसे -S "") या सर्वर-साइड सॉर्ट कंट्रोल का विकल्प है (उदाहरण के लिए -E sss, यदि समर्थित है, और कुछ मामूली कॉन्फ़िगरेशन और स्कीमा संबंधित भालू जाल के अधीन है)। कल्पना का कहना है खोज परिणामों किसी भी क्रम में हो सकता है। एक कार्यान्वयन एक डिफ़ॉल्ट आदेश को परिभाषित कर सकता है, ज्यादातर लोग यह मान लेते हैं कि डिफ़ॉल्ट "बच्चे से पहले माता-पिता" है, केवल OpenDS यह दस्तावेज़, AFAIK।
mr.spuratic

2
OpenLDAP में खोज परिणाम क्रम जानबूझकर अनिर्दिष्ट है। चूंकि कल्पना पहले से ही कहती है कि परिणाम किसी भी क्रम में हो सकते हैं, क्लाइंट सॉफ़्टवेयर को किसी विशेष क्रम पर भरोसा नहीं करना चाहिए। परिणामों की छंटनी बेशक की जा सकती है, लेकिन इसके लिए बहुत अधिक संसाधनों की आवश्यकता होती है और आमतौर पर पूर्ण बैकअप करते समय दिलचस्प नहीं होता है। डेटाबेस ऑर्डर अपेक्षाकृत व्यर्थ है, जो नई डीआईटी स्थानों पर उप-शाखाओं के नाम बदलने की संभावना को देखते हुए दिया गया है।
HYC

1

slapcatओवरले होने पर काम नहीं करता है, जैसे memberOf। इसलिए यदि आप एक slapcat/ slapaddचक्र सदस्यता ओवरले करते हैं तो वह काम नहीं करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.