2013-10-07 28 views
17

हमने हाल ही में मोंगोडीबी पर कुछ डेटा पोर्ट किया है और अब दैनिक बैकअप चलाने की तलाश में हैं, अधिमानतः एक क्रॉन नौकरी से, और बैकअप में से एक माध्यमिक मोंगो डेटाबेस में पुनर्स्थापित करें।रिमोट सर्वर से मोंगोडम्प

हमारी प्रणाली की स्थापना की है इस प्रकार है:

तीन सर्वरों के होते हैं: सर्वर 1 विकास मोंगो डेटाबेस है, सर्वर 2 दो मोंगो डेटाबेस, मचान डेटा के लिए एक और उत्पादन के लिए एक, है और तीसरे सर्वर है जहां हम अपनी सभी क्रॉन जॉब्स/बैच स्क्रिप्ट चलाते हैं।

मैं मोंगो डॉक्स की जाँच की है, और हमारे क्रॉन जॉब सर्वर में लॉग इन किया और निम्न आदेश भागने की कोशिश की: (उपयोगकर्ता नाम, मेजबान, और सुरक्षा के लिए बदल पासवर्ड, मैं वास्तव में स्थानीय होस्ट से कनेक्ट होने नहीं कर रहा हूँ)

mongodump --host 127.0.0.1/development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1 

मैं निम्न संदेश मिलता है:

सोम अक्टू 7 10:03:42 विकास के बीज के साथ प्रतिकृति सेट 127.0.0.1 के लिए नए प्रतिकृति सेट की निगरानी शुरू कर: 27017
सोम अक्टू 7 10:03:42 सफलतापूर्वक बीज विकास से जुड़ा: प्रतिकृति सेट 127.0 के लिए 27017। 0.1
सोम अक्टूबर 7 10:03:42 चेतावनी: नोड: विकास: 27017 सेट का हिस्सा नहीं है: 127.0.0.1 ismaster: {ismaster: true, maxBsonObjectSize: 16777216, ठीक है: 1.0}
सोम अक्टूबर 7 10 : 03: 44 प्रतिलिपि सेट 127.0.0.1 के लिए प्रतिलिपि सेट मॉनिटर, पता 127.0.0.1/
सोम अक्टूबर 7 10:03:44 [प्रतिकृतिसेट मॉनिटर वाटर] शुरू हो सकता है [127.0.0.1/development:27017] कनेक्ट 127.0.0.1/development:27017

स्थापित करने के लिए मैं इस बात की पुष्टि है कि मैं mongo -u -p ip/development

हमारा अंतिम लक्ष्य Wil का उपयोग कर मोंगो डेटाबेस से कनेक्ट कर सकते हैं विफल रहा है मैं उत्पादन डेटाबेस से डेटा डंप करने और इसे स्टेजिंग डेटाबेस में स्टोर करने के लिए हो। ये दो डेटाबेस दोनों एक ही बॉक्स पर स्थित हैं, यदि इससे कोई फर्क पड़ता है, लेकिन परीक्षण उद्देश्यों के लिए मैं केवल विकास परीक्षण डेटा का बैकअप प्राप्त करने का प्रयास कर रहा हूं।

+3

'--ost 127.0.0.1/विकास' को' --host 127.0.0.1 -d विकास' के साथ बदलने का प्रयास करें, यह आपकी समस्या का समाधान कर सकता है। –

+0

तो ऐसा हुआ, जब मैं 'mongo -u -p' का उपयोग कर कनेक्ट करता हूं तो मैं मेजबान के बाद डेटाबेस जोड़ता हूं। जाहिर है कि कम से कम मोंगोडम्प के लिए इसे संभालने का उचित तरीका नहीं है। डंप ने उस बदलाव के साथ पूरी तरह से काम किया – awestover89

उत्तर

32

mongo ग्राहक MongoDB connection string URI पार्स कर सकते हैं, तो बजाय सभी कनेक्शन मापदंडों अलग से निर्दिष्ट करने के आप एक कनेक्शन स्ट्रिंग यूआरआई पारित कर सकते हैं।

अपने मामले में आप host के रूप में कनेक्शन यूआरआई पास करने का प्रयास कर रहे हैं, लेकिन 127.0.0.1/development मान्य होस्ट नाम नहीं है। इसका मतलब है कि आप host से अलग database पैरामीटर निर्दिष्ट करना चाहिए:

mongodump --host 127.0.0.1 -d development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1 
7


यह मेरे लिए काम किया।

संदर्भ: https://docs.mongodb.com/manual/reference/program/mongodump


सिंटेक्स 1:

mongodump --host <hostname:port> --db <database> --username <username> --password <password> --out <path> 

सिंटेक्स 2:

mongodump -h <hostname:port> -d <database> -u <username> -p <password> -o <path> 



उदाहरण 1:

mongodump --host 127.0.0.1:27017 --db db_app --username root --password secret --out /backup/db/app-17-03-07 

उदाहरण 2:

mongodump -h 127.0.0.1:27017 -d db_app -u root -p secret -o /backup/db/app-17-03-07 
0

यहाँ स्थानीय मशीन नोड सर्वर से संग्रह के निर्यात का एक उदाहरण है:

Host : xxx.xxx.xxx.xx 
Port :27017 
Username:”XXXX” 
Password :”YYYY” 
AuthDB : “admin” 
“DB”: “mydb” 

D:\mongodb-backup>mongodump -h xxx.xxx.xxx.xxx –port 27017 -u “XXXX” -p “YYYY” –authenticationDatabase “admin” –db “mydb” 
संबंधित मुद्दे