क्या मैं rsync
का उपयोग कर सैम सर्वर पर सैकड़ों साइटों पर "मॉडल" साइट से परिवर्तनों को सिंक कर सकता हूं?
मैं सामान्य टेम्पलेट फ़ाइलों और जेएस स्क्रिप्ट अपडेट कर रहा हूं। यदि संभव हो तो मैं इसे कैसे स्थापित करूं?
(मैं एक होस्टगेटर समर्पित सर्वर पर हूं, अपाचे चला रहा हूं)rsync समर्थन कई को समन्वयित करने के लिए कर सकते हैं?
उत्तर
नीचे दिए गए संपादित प्रश्न के लिए मेरा विस्तारित उत्तर पढ़ें।
सबसे मामूली और निष्पक्ष दृष्टिकोण शायद एक ऐसी स्क्रिप्ट स्थापित करने के लिए होगा जो केवल उस सर्वर के लिए rsync चलाता है जिसे आप सिंक्रनाइज़ करना चाहते हैं।
यह ज्यादातर मामलों में ठीक है, लेकिन मुझे नहीं लगता कि यह आपके लिए क्या देख रहे हैं, क्योंकि आपको लगता है कि पता लगा है | अपने आप को है ...
इस विधि को भी निम्न नुकसान हैं:
एक सर्वर सभी ट्रैफिक भेजता है, कोई कैस्केडिंग नहीं है। तो यह विफलता का एक बिंदु और एक बाधा
यह बहुत अक्षम है। Rsync एक महान उपकरण है, लेकिन फ़ाइल सूची पार्स करने और मतभेदों को पता चल सके कि आप सर्वर
लेकिन आप क्या कर सकते हैं के सैकड़ों सिंक्रनाइज़ करना चाहते हैं, बहुत जल्दी नहीं है?
एकाधिक सर्वरों के लिए rsync को कॉन्फ़िगर करना स्पष्ट रूप से जाने का सबसे आसान तरीका है। तो आपको उस से शुरुआत करनी चाहिए और अपनी समस्याएं कहां अनुकूलित करनी चाहिए।
आप सही फाइल सिस्टम का उपयोग कर उदाहरण के लिए इसे तेज कर सकते हैं। एक्सएफएस शायद एक्स 3 की तुलना में 50 गुना तेजी से होगा।
आप एकजुट भी उपयोग कर सकते हैं जो थोड़ा अधिक शक्तिशाली टूल है और कैश में फ़ाइलों की एक सूची रखता है।
आप एक कैस्केड भी सेट कर सकते हैं (सर्वर ए सर्वर सर्वर को सिंक्रनाइज़ करने के लिए सर्वर बी सिंक्रनाइज़ करना)।
आप अपने ग्राहकों द्वारा धक्का देने के बजाए खींचने की भी स्थापना कर सकते हैं। आपके पास एक उप डोमेन हो सकता है जो लोड बैलेंसर में प्रवेश बिंदु है, जहां आपके पास 1 या अधिक सर्वर हैं जिसके पीछे आप अपने स्रोत सर्वर से दबाकर सिंक्रनाइज़ करते हैं।
कारण मैं आपको ये सब बता रहा हूं क्योंकि जाने का सही तरीका नहीं है, आपको अपनी आवश्यकताओं के आधार पर इसे समझना होगा।
हालांकि मैं निश्चित रूप से जीआईटी की तलाश करने की सिफारिश करता हूं।
गिट एक संस्करण नियंत्रण प्रणाली है जो बहुत शक्तिशाली और कुशल है।
आप एक गिट भंडार बना सकते हैं और अपनी क्लाइंट मशीनों को धक्का दे सकते हैं।
यह बहुत अच्छी और कुशल काम करता है और लचीला और स्केलेबल है, इसलिए आप वितरित फ़ाइल सिस्टम, कैस्केड, लोडबलेंसिंग आदि सहित इस संरचना पर लगभग कुछ भी बना सकते हैं।
आशा है कि मैंने आपको सही दिशाओं में कुछ बिंदु दिए हैं जिन्हें आप देख सकते हैं।
संपादित करें:
तो लगता है कि आप एक ही सर्वर पर परिवर्तन सिंक्रनाइज़ करने के लिए चाहते हैं - या यहां तक कि एक ही हार्ड डिस्क (जो मैं नहीं जानता, लेकिन संभावना है कि आप के लिए बहुत महत्वपूर्ण है)।
वैसे मूल रूप से यह सब वही है। सम्मिलित करें - ओवरराइट करें - हटाएं ... इसके लिए रुनक भी एक बहुत अच्छा टूल है क्योंकि यह परिवर्तन को वृद्धिशील स्थानांतरित करता है। न केवल "टूटा स्थानान्तरण शुरू करता है"।
लेकिन मैं कहूंगा कि यह पूरी तरह से सामग्री पर निर्भर करता है।
यदि आपके पास टेम्पलेट, जावास्क्रिप्ट, आदि जैसे बहुत सी छोटी फ़ाइलें हैं, तो rsync बहुत धीमा हो सकता है। स्रोत फ़ोल्डर को पूरी तरह से हटाने और फिर फ़ाइलों को फिर से कॉपी करने के लिए यह तेज़ हो सकता है। इसलिए rsync (या किसी अन्य उपकरण) को परिवर्तनों के लिए सभी फाइलों की जांच करने की आवश्यकता नहीं है।
आप बस आरआर स्विच के साथ सब कुछ कॉपी कर सकते हैं ताकि सबकुछ ओवरराइट हो जाए, लेकिन फिर आपके पास पुरानी फाइलें हो सकती हैं हटा दिया गया
मैं कई मामलों को भी जानता हूं जहां ऐसी चीजें उपversण का उपयोग करके की जाती हैं, क्योंकि लोगों को अधिक नियंत्रण या कुछ नहीं लगता है। यह भी अधिक लचीला है।
साझा डेटा की अवधारणा नहीं है:
लेकिन वहाँ एक बात यह है कि आप में से सोचना चाहिए।
सिम्लिंक और हार्ड लिंक हैं।
आप उन्हें फ़ाइलों और फ़ोल्डरों पर रख सकते हैं (केवल फाइलों पर हार्ड लिंक। मुझे पता नहीं क्यों)।
यदि आप लक्ष्य बी पर एक सिम्लिंक ए डालते हैं तो फ़ाइल को सिमलिंक की तरह स्थित और नामित होने जैसा लगता है, लेकिन पीछे संसाधन कहीं अलग है। लेकिन अनुप्रयोगों को अलग कर सकते हैं। उदाहरण के लिए अपाचे को सिम्लिंक का पालन करने के लिए कॉन्फ़िगर किया जाना चाहिए (अन्यथा यह एक सुरक्षा समस्या होगी)।
तो यदि आप सभी एक फ़ोल्डर में बदलते हैं तो आप केवल उस फ़ोल्डर की तरह सिमलिंक डाल सकते हैं, जो आपके फ़ोल्डर को इंगित करता है, और आपको फिर से सिंक्रनाइज़ करने की चिंता करने की ज़रूरत नहीं है, क्योंकि वे एक ही संसाधन साझा करते हैं।
वे अलग दिख:
लेकिन वहाँ कारणों से आप ऐसा करने के लिए नहीं करना चाहते हैं। - यह बेतुका लगता है, लेकिन वास्तव में, यह सबसे आम कारण है कि लोगों को सिम्लिंक पसंद नहीं है। लोग शिकायत कर रहे हैं क्योंकि वे "अपने कार्यक्रम में बहुत अजीब लगते हैं" या जो भी हो।
सिम्लिंक कुछ क्षमताओं में सीमित हैं लेकिन इसलिए अन्य बड़े फायदे हैं। क्रॉस-फाइल सिस्टम पॉइंटिंग इत्यादि की तरह हालांकि। लगभग हर नुकसान को काफी हद तक सौदा किया जा सकता है और आपके आवेदन में काम किया जा सकता है। दयनीय सत्य यह है कि सिम्लिंक लिनक्स ओएस और फाइल सिस्टम की मूलभूत विशेषता है, लेकिन एप्लिकेशन विकसित करते समय उनका अस्तित्व कभी-कभी भूल जाता है। यह एक ट्रेन विकसित करने की तरह है लेकिन भूल रहा है कि लंबे पैर या कुछ भी लोग हैं ...
दूसरी तरफ हार्डलिंक्स फाइलों की तरह दिखते हैं क्योंकि वे फाइलें हैं।
और एक फ़ाइल को इंगित करने वाली प्रत्येक हार्डलिंक वह फ़ाइल है।
यह भ्रामक लगता है लेकिन इसके बारे में लगता है कि इस प्रकार है:
हर फ़ाइल डिस्क पर कुछ डेटा है। फिर कुछ इनोड पॉइंटर होता है जो कुछ निर्देशिका के भीतर उस संसाधन को इंगित करने वाले कुछ नाम के साथ होता है।
हार्डलिंक्स बस यही हैं। फ़ाइल के बस "लिस्टिंग" हैं।
परिणामस्वरूप वे एक ही पठन लॉक साझा करते हैं, संशोधित/हटाए गए/आदि को एक साथ प्राप्त करते हैं।
हालांकि यह केवल एक फाइल सिस्टम/डिवाइस पर किया जा सकता है और क्रॉस-डिवाइस के अनुसार नहीं।
लिंक कुछ बड़े फायदे हैं। वे काफी स्पष्ट हैं:
आपके पास डुप्लिकेट डेटा नहीं है। जो असंगतताओं की संभावना को समाप्त करता है और आपको डिस्क पर कम स्थान की आवश्यकता नहीं है और उसे कम करने की आवश्यकता नहीं है।
हालांकि यह कभी-कभी कहीं अधिक महत्व देता है।
उदाहरण के लिए यदि आप एकाधिक वेबसाइट चलाते हैं और वे सभी ज़ेंड फ्रेमवर्क का उपयोग करते हैं।
यह शिटलोड भारी ढांचा है और इसके ओपोड कैशिंग आपके रैम या कुछ 50 मेगापिक्सल की तरह भर जाएगी।
यदि आपके पास अपनी वेबसाइटों के लिए एक ही ज़ेंड लाइब्रेरी फ़ोल्डर है, तो आपको केवल एक बार इसकी आवश्यकता है।
- 1. अपने आप को समन्वयित करने के लिए संस्करण नियंत्रण
- 2. एक ही धागे को कई बार जागृत करने के बारे में सूचित कर सकते हैं?
- 3. rsync आउटपुट
- 4. आईआईएस एक्सप्रेस समर्थन रिवर्स प्रॉक्सी कर सकते हैं?
- 5. जावा फ़ाइल विधि "canWrite()" समर्थन लॉकिंग कर सकते हैं?
- 6. rsync
- 7. Nodejs और Socket.io कितने उपयोगकर्ता का समर्थन कर सकते हैं?
- 8. py.test एकाधिक -k विकल्पों का समर्थन कर सकते हैं?
- 9. आईपैड 3 पर cocos2d समर्थन 4096x4096 बनावट कर सकते हैं?
- 10. Django कई लोगों को ऑर्डर करने के लिए कई
- 11. क्या आप कई टेम्पलेट्स में डेटा साझा कर सकते हैं?
- 12. कर सकते हैं एक भी SetEvent() ट्रिगर कई WaitForSingleObject()
- 13. Django व्यवस्थापक को सक्षम करने के लिए कई करने के लिए कई क्षेत्रों
- 14. क्या लुआ की फ़ंक्शन को कई परिणाम लौटा सकते हैं?
- 15. i18n संसाधनों को समन्वयित करना
- 16. rsync SSH पर स्वामित्व वाली फ़ाइलों को
- 17. ओपन/GLSL - कई स्रोत के साथ glShaderSource उपयोग करने का समर्थन करने के लिए फ़ाइलों
- 18. एकाधिक निर्भर Mercurial भंडारों के संस्करणों को समन्वयित करने के लिए अनुशंसित तरीका?
- 19. rsync
- 20. rsync
- 21. समन्वयित तरीके
- 22. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 23. प्रति आइटम सीएसवी फाइलों को अलग करने के लिए स्केपर निर्यात आइटम कैसे कर सकते हैं
- 24. rsync को dir
- 25. क्या आप UINavigationItem के शीर्षकदृश्य को सेट करने के लिए यूआईपीपीरेंस का उपयोग कर सकते हैं?
- 26. ऐप्पलस्क्रिप्ट घटनाओं के लिए सुन सकते हैं?
- 27. rsync --delete का उपयोग कर, लेकिन गंतव्य
- 28. जा सकते हैं कोड विंडोज़ में डीएल उत्पन्न कर सकते हैं या सी ++/सी # कॉल गोलांग कोड कर सकते हैं?
- 29. सीडीआई आवेदन और आश्रित स्कोप कचरा संग्रह को प्रभावित करने के लिए षड्यंत्र कर सकते हैं?
- 30. प्रीप्रोकैसिंग के बाद जीसीसी आउटपुट सी कोड कर सकते हैं?
यह एक अच्छा जवाब है। मैं आपके द्वारा बताई गई प्रत्येक चीज़ पर पढ़ रहा हूं, मुझे यह बहुत उपयोगी लगता है। मुझे स्पष्ट होना चाहिए था कि मैं वास्तव में केवल एक सर्वर के साथ काम कर रहा हूं और साइटों की होम निर्देशिकाओं के बीच सिंकिंग की आवश्यकता है। क्या यह पूरी तरह से नहीं है कि rsync जैसे उपकरण क्या हैं? – filip
धन्यवाद, यह बहुत उपयोगी जानकारी है। मैं सिम्लिंक के साथ प्रयोग कर रहा हूं और सोचता हूं कि वे मेरी समस्या को rsync से बेहतर हल करने में सक्षम हो सकते हैं। – filip