कई कंप्यूटरों के बीच होम फोल्डर को कैसे सिंक्रोनाइज़ करना है?


117

मेरे पास घर पर तीन कंप्यूटर हैं, और /home/तीन के बीच फ़ोल्डर ट्री को सिंक्रनाइज़ करना चाहूंगा ।
तीन कंप्यूटरों में से किसी एक में किसी भी फाइल / फोल्डर (छिपे हुए को छोड़कर) को संशोधित / जोड़ा / हटा दिया जाता है।

क्या rsyncऐसा करने के लिए पर्याप्त है? और कैसे?


9
अधिकांश 'सिंकिंग' टूल के साथ समस्या, (यदि मुझे सही याद है तो rsync सहित), यह है कि उनके पास उपयोगकर्ता क्रियाओं की धारणा नहीं है। इसलिए यदि आप कंप्यूटर एक्स पर एक फ़ाइल को हटाते हैं, तो टूल को यह नहीं पता कि क्या (ए) आपने वास्तव में कंप्यूटर एक्स पर फ़ाइल को हटा दिया है, या (बी) जो आपने उस फाइल को कंप्यूटर वाई पर जोड़ा है। अधिकांश उपकरण मान लेंगे (बी), इसलिए सिंक करने पर वे फ़ाइल को फिर से कंप्यूटर X (कंप्यूटर Y पर हटाने के बजाय) में जोड़ देंगे।
Rabarberski

5
@ ररबर्सकी कई सिंक टूल (यूनिसन या सिन्थिंग सहित) मौजूदा डेटा (इस कारण के लिए) के संदर्भ में एक डेटाबेस रखते हैं। पहली बार नए फ़ोल्डर्स को सिंक करते समय यह आपकी मदद नहीं करेगा, लेकिन वे आपके लिए (स्वचालित रूप से) फ़ाइलों को बहुत अच्छी तरह से हटा सकते हैं। अधिकांश सिंक टूल के साथ वास्तविक समस्या तब होती है जब अगली सिंक होने से पहले फ़ाइलों को दो स्थानों में बदल दिया गया है - इस संघर्ष के मामले में आपको आम तौर पर एक मैनुअल मर्ज करना होगा या शायद नवीनतम संस्करण के साथ प्रतिस्थापित करना होगा।
क्रिस

2
जब अन्य मशीनों पर परिवर्तनों को तुरंत कॉपी नहीं किया जा सकता है तब सिंक्रनाइज़ करना वास्तव में मुश्किल है और मैंने कभी भी इसे पूरी तरह से करते हुए कोई कार्यक्रम नहीं देखा है, इसलिए फाइलों को फिर से देखने के लिए कुछ बग, संघर्षों के लिए तैयार रहें। मैं केवल कुछ विशिष्ट फ़ोल्डरों को सिंक्रनाइज़ करने की सलाह दूंगा जिन्हें आप जानते हैं कि सिंकिंग प्रोग्राम द्वारा प्रबंधनीय होगा।
एलोजो

जवाबों:


90

यहां उन चीजों की सूची दी गई है जो संभावित रूप से इस समस्या को हल कर सकती हैं, प्रत्येक व्यापार-नापसंद को आपको अलग-अलग तरीके से संतुलित करना होगा ताकि आपको अपनी पसंद खुद बना सकें और चीजों को अपने लिए आज़मा सकें:

  • यूनिसन - जैसा कि दूसरों द्वारा उल्लेख किया गया है, यह मैन्युअल रूप से चलाया जाता है, लेकिन बहुत तेज, विश्वसनीय और प्रभावी है। दोनों मशीनों को एक ही समय में समकालिक होना आवश्यक है। यह एक अच्छा उपयोगकर्ता इंटरफ़ेस है जो आपको लगभग अपरिहार्य संघर्षों से निपटने की अनुमति देता है, और हटाए गए ट्रैक्स को सही ढंग से प्रचारित करता है। ग्राफिकल ऐप / पैकेज को यूनिसन-gtk कहा जाता है।

  • ओनलीक्लाउड - क्लाउड स्टोरेज आपके स्वयं के सर्वर पर चलता है। आपको छोड़ने के लिए एक मशीन की आवश्यकता होगी। उचित मात्रा में सेटअप की आवश्यकता है। सर्वर पर एक पूर्ण Apache 2 वेबसर्वर और एक SqlLite या MySQL डेटाबेस चलाता है। डेस्कटॉप क्लाइंट के साथ ड्रॉपबॉक्स के समान काम करता है, लेकिन सर्वर आपके नियंत्रण में है। संपादित करें: ओनक्लाउड हाल ही में कुछ बदलावों से गुजरा है कि कैसे परियोजना को चलाया जाता है, और अब नेक्स्टक्लाउड की आड़ में एक नया पूरी तरह से खुला स्रोत (अर्थात कोई बंद स्रोत 'उद्यम' संस्करण) नहीं है , ( मूल ओब्लाकड डेवलपर के साथ इस यूट्यूब साक्षात्कार को देखें) अधिक जानकारी के लिए)।

  • SparkleShare - सिंक में फ़ाइलों को रखने के लिए गिट का उपयोग करता है। मुखपृष्ठ के अनुसार: कई छोटी फ़ाइलों के लिए अच्छा है, बहुत सारी बड़ी फ़ाइलों जैसे संगीत या फोटो संग्रह के लिए अच्छा नहीं है।

  • सीफाइल - एक सर्वर घटक प्रदान करता है जिसे आप स्थानीय मशीन पर स्थापित कर सकते हैं। Seafile एक डेटा मॉडल का उपयोग करता git करने के लिए इसी तरह की ट्रैकिंग परिवर्तन के लिए। डेस्कटॉप, टैबलेट और स्मार्टफ़ोन के लिए सिंक क्लाइंट प्रदान करता है। सेटअप का वर्णन करने वाला एक ब्लॉग http://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/ पर पाया जा सकता है

  • Osync - "... द्विदिश फ़ाइल सिंक्रनाइज़ेशन उपकरण जो bash में लिखा गया है और rsync पर आधारित है। यह ssh सुरंगों के माध्यम से स्थानीय और / या दूरस्थ निर्देशिकाओं पर काम करता है। इसे मुख्य रूप से क्रोन कार्य के रूप में लॉन्च करने का लक्ष्य है" (वेबसाइट से पाठ)

  • PowerFolder - जावा आधारित GPL v2 परियोजना। मुख्य वेबसाइट वाणिज्यिक पेशकशों को आगे बढ़ाती है, इसलिए यह स्पष्ट नहीं है कि प्रदान की गई .jar फ़ाइल का उपयोग कैसे करें।

  • रुपीक्स - तेज और प्रभावी और दशकों से आसपास रहा है, हालांकि यह एक इतिहास नहीं रखता है, इसलिए आपको यह तय करने के लिए एक दिशा चुनना होगा कि कोई फ़ाइल नई है या हटा दी गई है। ग्राफ़िकल टूल उपलब्ध हैं जैसे कि gwRsync

  • Lsyncd - rsync प्रतिकृति को ट्रिगर करने के लिए फ़ोल्डर / फ़ाइलों की निगरानी करता है

  • DVcs-autosync - अजगर में लिखा गया, मशीनों के बीच परिवर्तन को स्टोर करने और साझा करने के लिए गिट का उपयोग करता है, और परिवर्तन को संप्रेषित करने के लिए XMPP।

  • git-annex - git के आधार पर शंटिंग फ़ाइलों के लिए कमांड लाइन टूल। यहाँ एक चित्रण वॉकथ्रू है: http://git-annex.branchable.com/walkthrough/

  • टोनिडो - फ्रीवेयर। एक डेस्कटॉप ऐप प्रदान करता है जो अन्य उपकरणों के लिए फ़ाइलें साझा करेगा। इसके अलावा वाणिज्यिक क्लाउड प्रसाद, और टोनिडोप्लाग प्लग कंप्यूटर प्रदान करें।

  • बिटटोरेंट सिंक (फ्रीवेयर) - बिट टोरेंट पर आधारित पीयर-टू-पीयर फाइल सिंक। मुझे इस बारे में ज्यादा जानकारी नहीं है क्योंकि मैं इसका उपयोग ओपन सोर्स नहीं होने के कारण कर रहा हूं और अपने लैन के भीतर अपने डेटा को रखने के लिए इस पर भरोसा नहीं करने के लिए, बेहतर जानकारी / वास्तविक अनुभवों के साथ इस उत्तर को संपादित करने के लिए स्वतंत्र महसूस करता हूं।

  • SyncThing - बिटटोरेंट सिंक के लिए एक खुला स्रोत विकल्प के रूप में विकसित किया गया। वर्तमान में इसमें बिटटॉरेंट सिंक की कुछ उन्नत विशेषताओं का अभाव है, जैसे कि अविश्वासित सहकर्मी। यह सक्रिय विकास के तहत है।

  • ड्रॉपबॉक्स, यूबंटू वन, गूगल ड्राइव, ऐप्पल आईक्लाउड जैसी वाणिज्यिक होस्टेड सेवाएं सभी त्वरित सस्ती और सुविधाजनक हैं, हालांकि इन सभी को आपके सभी डेटा के साथ एक कंपनी पर भरोसा करने की आवश्यकता होती है, और इसके लिए उचित इंटरनेट कनेक्शन की आवश्यकता होती है।

  • गिट / तोड़फोड़ - एक स्रोत नियंत्रण प्रणाली का सीधे उपयोग करें। पूरी तरह से मैनुअल और इन प्रणालियों से परिचित कुछ उपयोगकर्ताओं के साथ प्रोग्रामिंग टूल के रूप में उपयोग करने से थोड़ा जटिल लेकिन लोकप्रिय दृष्टिकोण हो सकता है।

  • CloudFS - एक संपूर्ण फाइल सिस्टम, क्लस्टर तकनीक पर आधारित है

  • एनएफएस माउंट - मूल रूप से आपका घर एक मशीन पर रहता है और आप इसे नेटवर्क पर एक्सेस करते हैं, जो आपके द्वारा लिए गए लैपटॉप के लिए अच्छा नहीं है। अधिक जानकारी: http://www.linuxjournal.com/article/4880


आपके निर्णय लेने में विचार करने के लिए कारक:

  • केंद्रीय सर्वर - कुछ समाधानों के लिए एक मशीन की आवश्यकता होती है जो हर समय (या कम से कम जब आपको सिंक्रनाइज़ करने की आवश्यकता होती है) अन्य मशीनों के साथ सिंक्रनाइज़ करने के लिए। यह आपकी मौजूदा मशीनों में से एक हो सकता है, या एक अलग मशीन जैसे कि NAS। बढ़े हुए बिजली बिलों के लिए देखें।

  • स्वचालित / मैनुअल / अनुसूचित - संघर्षों को हल करने से बचने का सबसे अच्छा तरीका जहां मशीन से अधिक कुछ बदल दिया जाता है, हर मशीन पर एक कार्यक्रम होता है जो परिवर्तनों के लिए देखता है और तुरंत सिंक्रनाइज़ करता है, इस तरह से आप कई के साथ समाप्त होने के अवसर को कम करते हैं संस्करणों। मैन्युअल प्रक्रियाओं के साथ आपको सिंक्रनाइज़ेशन को चलाने के लिए हमेशा याद रखना होगा।

  • रिमोट एक्सेस - क्या आप अपने लैन (उर्फ होम) से दूर सिंक्रनाइज़ेशन करना चाहते हैं, इस के सुरक्षा निहितार्थों के बारे में सोचें।

  • सुरक्षा - क्या आपका डेटा आपके नेटवर्क को एन्क्रिप्ट किया गया है या नहीं, मशीनों के बीच स्थानांतरण कितना सुरक्षित है। क्या होगा अगर कोई आपके डेटा को आगे बढ़ाता है और बाद में एन्क्रिप्शन में खामियां पाई जाती हैं? जो आपके डेटा को रखने वाले सर्वर को नियंत्रित करता है, क्या वह डेटा एनक्रिप्टेड है, क्या आप किसी तीसरे पक्ष पर भरोसा कर सकते हैं? क्या आपको रिमोट एक्सेस प्राप्त करने के लिए अपने राउटर में छेद करना होगा। कब तक 'डिलीट' हुई फाइल्स और संबंधित मेटा-डेटा स्टिक को सिंक्रोनाइज़्ड डिवाइसेस पर और सेंट्रल सर्वर पर चिपकाते हैं। क्या आप एन्क्रिप्टेड और अनएन्क्रिप्टेड स्टोरेज के बीच सिंक्रोनाइज़ कर रहे हैं?

  • बड़े फ़ोल्डरों को ले जाना - मेरे द्वारा हल किए गए समाधान में एक समस्या है कि जब आप किसी फ़ाइल या फ़ोल्डर को स्थानांतरित करते हैं / सिंक करते हैं, तो सिंक यह समझ नहीं पाता है और इसे फिर से नए के रूप में अपलोड करता है और फिर पुरानी कॉपी को हटा देता है। कृपया ऊपर दिए गए किसी भी समाधान को चिह्नित करने में मदद करें, जो इस से निपटने में सक्षम हैं (मुझे संदेह है कि git आधारित समाधान ऐसा करते हैं जैसे कि git इससे प्रभावित नहीं होता है क्योंकि सामग्री-आधारित पते का उपयोग करता है लेकिन मुझे यकीन नहीं है कि मैं इसके बारे में नहीं जानता हूँ 'उन्हें इस्तेमाल नहीं किया)।

  • डिस्क की क्षमता

  • बैकअप - सिंक्रनाइज़ेशन बैकअप नहीं है। गलती से एक महत्वपूर्ण फ़ाइल को हटा दें और उपरोक्त में से कई आपकी अन्य सभी प्रतियों को नष्ट कर देगी। मेरी सलाह है कि यदि आप अपने सभी डिजिटल अंडे एक डिजिटल टोकरी में रखते हैं, तो बोलने के लिए क्या हो सकता है, के अच्छे खाते के लिए हैक किए जाने पर मैट होनन के टुकड़े को पढ़ने के लिए।


मैं पूरी घर फ़ोल्डर में सिंक नहीं सलाह देते हैं, लेकिन इसके बजाय विशिष्ट फ़ोल्डरों उठा सिंक करने के लिए इस तरह के रूप Documents/, Pictures/आदि यह स्वचालित रूप से सब कुछ सिंक्रनाइज़ करने की गति / प्रदर्शन / डिस्क स्थान समस्याओं से निपटने के लिए मजबूर किया जा रहा से दर्द से बचने होगा। यह बहिष्करण सूचियों को बनाए रखने से भी बचता है।

जैसा कि मैंने कोशिश करना जारी रखा और कुछ ऐसा पाया जो मेरे लिए व्यक्तिगत रूप से काम करता है और मैं इस उत्तर को उपयोगी जानकारी के साथ आज तक जारी रखूंगा। मैंने अन्य सभी उत्तरों की जानकारी को एक पूर्ण उत्तर में एकत्र किया है।

संदर्भ:

  • LinuxFormat - फरवरी 2014 LXF180 p31, "होस्टेड स्टोरेज राउंडअप"

हैकिंग / सब /


मेरे पास एक सर्वर w / आउट रूट एक्सेस है (जो कि यूनिसन को स्थापित करने के लिए आवश्यक है, उदाहरण के लिए)। क्या कोई स्क्रिप्ट है जो मेरे ग्राहक मशीन पर हो सकती है जिसे मेरे सर्वर पर स्थापित करने की आवश्यकता नहीं है?
बेन कुशिगियन

मैंने एक सॉफ्टवेयर देखा है जिसका नाम है freefilesync ( sourceforge.net/projects/freefilesync ) ने यहां और वहां कुछ समय का उल्लेख किया है। अपनी सूची में उल्लेख के लायक हो सकता है?
यंगफ्रॉग

28

सामंजस्य एक अच्छे उम्मीदवार हो सकता है:

यूनिसन, यूनिक्स और विंडोज के लिए एक फाइल-सिंक्रोनाइज़ेशन टूल है। यह अलग-अलग होस्ट (या एक ही होस्ट पर अलग-अलग डिस्क) पर संग्रहीत फ़ाइलों और निर्देशिकाओं के संग्रह के दो प्रतिकृतियों को अलग से संशोधित करने की अनुमति देता है, और फिर प्रत्येक प्रतिकृति में दूसरे में परिवर्तन का प्रचार करके तारीख तक लाया जाता है।

यह पहले से ही 2-तरह से सिंक करता है। अपडेट बेली देखें

मैंने सीखा है कि बहुत कम चीजें हैं जो rsync नहीं कर सकते हैं, और यह संभवतः एक समान या बेहतर समाधान प्रदान कर सकता है, लेकिन आपको उस समाधान के लिए rsync विशेषज्ञ की प्रतीक्षा करनी होगी।

अद्यतन: हाँ, Unison 2 से अधिक मशीनों को सिंक कर सकता है। उनके से उपयोगकर्ता के मैनुअल :

यूनिसन का उपयोग सिंक्रनाइज़ करने के लिए दो से अधिक मशीनें

यूनिसन प्रतिकृतियां के जोड़े को सिंक्रनाइज़ के लिए बनाया गया है। हालांकि, कई जोड़ीदार समकालिकता प्रदर्शन करके मशीनों के बड़े समूहों को सिंक में रखने के लिए इसका उपयोग करना संभव है।

यदि आपको ऐसा करने की आवश्यकता है, तो चीजों को स्थापित करने का सबसे विश्वसनीय तरीका "स्टार टोपोलॉजी" में मशीनों को व्यवस्थित करना है, एक मशीन को "हब" के रूप में नामित किया गया है और बाकी को "प्रवक्ता" के रूप में और प्रत्येक स्पोकन मशीन के साथ सिंक्रनाइज़ किया जा रहा है। केवल हब के साथ। स्टार टोपोलॉजी का बड़ा फायदा यह है कि यह इस तथ्य से उत्पन्न होने वाली "अप्रिय संघर्ष" को भ्रमित करने की संभावना को समाप्त करता है कि यूनिसन द्वारा प्रत्येक जोड़ीदार मेजबानों के लिए एक अलग संग्रह बनाए रखा जाता है जो इसे सिंक्रनाइज़ करता है।


मेरे पास यूनिसन के साथ कुछ बुरे अनुभव हैं, किसी कारण से समय-समय पर अन्य कंप्यूटरों से नई फ़ाइलों को जोड़ने के बजाय, इसने उन्हें हटा दिया जबकि अन्य बार इसने ठीक काम किया।
झकझोर कर रख दिया

1
मैं सुझाव देता हूं कि मैनुअल में सिफारिश का पालन करने के लिए / b / c उदाहरण का संपादन न करके लूप तैयार किया जाए।
टिम अबेल

Rsync के संदर्भ में। नहीं, यह मज़बूती से दो तरह से सिंक नहीं कर सकता है। निम्नलिखित उत्तर को देखने के लिए देखें कि
यूनिसन

19

कैसे अपनी फ़ाइलों को एक संस्करण नियंत्रण प्रणाली में डालने के बारे में जैसे कि सबवर्सन या गिट?

मैं अपने पूरे घर की डीआईआर का संस्करण नहीं देता, लेकिन कुछ महत्वपूर्ण सामानों के साथ केवल एक मुट्ठी भर उपखंड। लेकिन मैं इस प्रकार की नौकरी के लिए बेहतर प्रतीत होने के बाद से गिट में परिवर्तित करने के बारे में सोच रहा हूं। ( एक त्वरित खोज आपको सही दिशा में भेजने जा रही है )।

सौभाग्य


अपडेट : git के साथ एक अच्छा साइड इफेक्ट यह है कि कंप्यूटर की विशिष्ट फाइलें रखना आसान है, क्योंकि आपको केवल उस कंप्यूटर के लिए एक शाखा की आवश्यकता होती है (और git में आपको वह डिफ़ॉल्ट रूप से मिलता है)। इसलिए आपको सभी कंप्यूटरों में बिल्कुल समान फाइलें रखने की आवश्यकता नहीं है, उन्हें केवल समान होने की आवश्यकता है, और सामान के साथ एक सामान्य "मुख्य" शाखा है जो आप सभी विभिन्न कंप्यूटरों पर चाहते हैं।


ओह। फ़ाइल सिंक के लिए संस्करण नियंत्रण का उपयोग करने का विचार वास्तव में मेरी त्वचा को क्रॉल करता है।
1

हाँ विचार अजीब है लेकिन वास्तव में उपयोगी है। एक डायर के बारे में सोचो जैसे ~ / बिन / निजी सहायक लिपियों के लिए, उस तरह का डायर एक संस्करण नियंत्रण प्रणाली में महान है। हालांकि। Dde जैसी एक dir शायद संस्करण नियंत्रण प्रणाली में बुरा व्यवहार करेगी और फ़ाइल न संभाले जाने के लिए इसे अनदेखा सूची में डाल दिया जाएगा।
जोहान

यह आपकी फ़ाइलों को समकालिक रखने का एक शानदार तरीका है, आपको फ़ाइलों को जोड़ने / हटाने के लिए "git ऐड" और "git rm" का उपयोग करने के विचार के लिए अभ्यस्त होना होगा लेकिन बहुत अच्छी तरह से काम करता है।
झकित

मुझे यह विचार पसंद है क्योंकि मैं नियंत्रण में हूं कि मेरे घर में कचरे के भीतर कौन सी फाइलें साझा की जाएंगी। एकमात्र सवाल यह है कि कमिट को कैसे प्रबंधित किया जाए। यानी कुछ फ़ाइलों को प्रारंभिक प्रतिबद्ध में जाना चाहिए और फिर सिस्टम / आदि / स्कील के आधार पर यह दिखाने के लिए परिवर्तनों को प्रतिबिंबित करना चाहिए।
ony

जब आप निर्देशिकाओं को सिंक करने का प्रयास कर रहे हों तो क्या आपकी फ़ाइलों के साथ कुछ अलग शाखाओं को बनाए रखना वास्तव में सुविधाजनक है? ज़रूर, यह काम करता है, लेकिन मैं इस कार्य के लिए इसकी अनुशंसा नहीं करूंगा। आप आम तौर पर अधिकांश सिंक टूल (या तो नाम, फ़ोल्डर, आदि) से फ़ाइलों को बाहर कर सकते हैं और आप जो वर्णन कर रहे हैं (केवल कुछ महत्वपूर्ण उप-निर्देशिकाओं के लिए इसका उपयोग कर रहे हैं), यह मूल प्रश्न के संबंध में वास्तव में उपयोगी नहीं है।
क्रिस

6

यह करने की कोशिश करते समय आपकी मुख्य समस्या यह तय करना है कि परिवर्तनों को कैसे मर्ज किया जाए, हटाए जाने का प्रचार करें और संघर्षों को हल करें। यह पूरी तरह से स्वचालित तरीके से करना मुश्किल है, खासकर यदि आपको 3 कंप्यूटर सेटअप मिला है जिसका उपयोग कई लोग करते हैं।

यदि आप उपयोगकर्ताओं को अलग करते हैं तो चीजें बहुत सरल हो जाती हैं। क्योंकि एक उपयोगकर्ता एक ही समय में दो स्थानों पर नहीं हो सकता (और इसलिए संघर्ष उत्पन्न करता है) तो आप एक rsync नौकरी सेटअप कर सकते हैं लॉगिन करने के लिए "परिवर्तन प्राप्त करें" और लॉगआउट करने के लिए "पुश परिवर्तन" ... आपके कंप्यूटर में से एक में मास्टर होगा ... इसलिए इस स्तर की ग्रेन्युलैरिटी में आप पूरे / घर / के बजाय हर बार / होम / मायूसर को सिंक कर रहे होंगे। एक जोड़ा शोधन (लोगों को लॉग आउट नहीं करने के मामले में) निष्क्रियता की एक छोटी अवधि के बाद पुश स्क्रिप्ट को चलाया जाएगा।

वहाँ कई अन्य संभावित समाधान हैं, लेकिन कोई भी जादुई रूप से इस समस्या को हल नहीं करता है जहाँ तक मैं जानता हूँ। पहला कदम शायद यह सोचना है कि आप मशीनों का उपयोग कैसे करते हैं और अपने उपयोगकर्ता के व्यवहार के अनुरूप एक सिंकिंग नीति के साथ आते हैं।


5

मुझे लगता है कि आप एक सामान्य होम फोल्डर बढ़ते हुए एनएफएस द्वारा जो चाहें बेहतर हासिल कर सकते हैं। इस लेख को देखें http://www.linuxjournal.com/article/4880


4

यह पूरी तरह से एक समाधान प्रदान नहीं करेगा, लेकिन यह आपको एक शुरुआत देगा:

फ़ाइलों को rsync करने के लिए हर बार एक क्रॉन जॉब सेट करें। मैं निम्नलिखित की तरह एक कमांड का उपयोग करता हूं:

rsync -alhz --stats --progress --exclude-from '/etc/rsync_backup_excludes.conf' / -e ssh user@10.10.0.1:/path/to/home/

यह rsync का उपयोग केवल आवश्यक परिवर्तनों की प्रतिलिपि बनाने के लिए करेगा, कमांड के चलने पर हर बार सब कुछ फिर से कॉपी करने के लिए नहीं।

--stats और --progress वैकल्पिक हैं और संभवतः इसे आपकी स्क्रिप्ट से बाहर रखा जाना चाहिए

मेरे rsync_backup_excludes.conf फ़ाइल की सामग्री हैं:

dev/*
proc/*
lost+found/*
mnt/*
sys/*

मशीन के चालू होने पर एनाक्रोन सिंक हो जाएगा, डाउनटाइम के कारण गुम स्लॉट से बचना।
टिम अबेल

यह आपके संपूर्ण स्थानीय रूट को दूरस्थ होम फ़ोल्डर में कॉपी करता है। ऐसा नहीं है कि ओपी ने पूछा है, और न ही मैं सोच सकता हूं कि कोई भी क्यों चाहेगा ...
सेरिन

4

की जाँच करें lsyncd

Lsyncd एक स्थानीय निर्देशिका ट्री ईवेंट मॉनिटर इंटरफ़ेस (inotify या fsevents) देखता है। यह कुछ सेकंड के लिए घटनाओं को एकत्र और संयोजित करता है और फिर परिवर्तनों को सिंक्रनाइज़ करने के लिए एक (या अधिक) प्रक्रिया (तों) को जन्म देता है। डिफ़ॉल्ट रूप से यह rsync है। Lsyncd इस प्रकार एक लाइट-वेट लाइव मिरर सॉल्यूशन है जो कि तुलनात्मक रूप से आसान है जिसे नए फाइल सिस्टम या ब्लॉकदेवियों की आवश्यकता नहीं है और स्थानीय फाइल सिस्टम प्रदर्शन में बाधा उत्पन्न नहीं करता है।

Rsync + ssh एक उन्नत एक्शन कॉन्फ़िगरेशन है जो एसएसएच का उपयोग करने के लिए फ़ाइल और डायरेक्टरी को तार पर ले जाने वाले गंतव्य को फिर से अंकित करने के बजाय सीधे लक्ष्य पर ले जाता है।

फाइन-ग्रांटेड कस्टमाइज़टन को कॉन्फिग फाइल के माध्यम से प्राप्त किया जा सकता है। कस्टम एक्शन कॉन्फिगर्स को शेल स्क्रिप्ट्स से लेकर लुआ लैंग्वेज में लिखे कोड से लेकर स्क्रैच लेयर तक भी लिखा जा सकता है। शेलर स्क्रिप्ट्स से लेकर लुआ लैंग्वेज में लिखे कोड तक।


2

ड्रॉपबॉक्स http://www.getdropbox.com/ क्रॉस प्लेटफॉर्म विन / लिनक्स / मैक पर एक नज़र डालें


3
धन्यवाद परंतु नहीं। पहले ही कोशिश कर ली। यह वह नहीं है जिसकी मुझे तलाश है।
लाम्क्रो

ड्रॉपबॉक्स महान है और मैं घर, काम और मेरे लैपटॉप के बीच लिंक, फोटो और अन्य गैर-मिशन महत्वपूर्ण डेटा संग्रहीत करने के लिए उनके मुफ्त 2 जीबी का उपयोग करता हूं। यह वह नहीं है जो आपको इस स्थिति में चाहिए, लेकिन मेरी राय में, ड्रॉपबॉक्स निश्चित रूप से अपनी जगह है।
मैट कॉफर

2

/homeएक कंप्यूटर से दूसरे दो पर माउंट । आटोमाउंट इसके लिए बहुत अच्छा काम करता है।


1

उबंटू एक वह हो सकता है जिसे आप खोज रहे हैं। दुर्भाग्य से यह अभी भी बीटा चरण में है, और मुझे इसके साथ कोई अनुभव नहीं है, इसलिए मुझे यकीन नहीं है कि यह आपके लिए काम करेगा।


मैं कहता हूं कि यह अभी भी भारी विकास में है - हर कुछ दिनों में अपडेट्स होते हैं क्योंकि उबंटू टीम लोहे को किंक आउट करती है। यह काम करता है, लेकिन मैं ड्रॉपबॉक्स पर इसकी सिफारिश नहीं करूंगा।
नगुल

1

अगर आप भी कॉन्फिगरेशन सिंक करना चाहते हैं - ऊपर बताए गए टूल पूरी तरह से असहाय हैं: कॉन्फिग को अक्सर बदल दिया जाता है, और कई लॉगफाइल्स टकराव का कारण बनेंगे ताकि उनका विलय न हो सके।
मेरा छल सरल है, और बेवकूफ :) मुझे एक मास्टर वर्कस्टेशन मिला है, और "~" से सभी फाइलें सिर्फ दूसरे "स्लेव" के लिए कॉपी की जाती हैं। जिस क्षण मुझे एहसास होता है कि मुझे कुछ संशोधित करने की आवश्यकता है - मैं इसे मास्टर पर करता हूं, और दास इन परिवर्तनों को सिंक पर पकड़ता है।

इसके अलावा, कुछ बैश स्क्रिप्ट को इन मशीनों पर अलग-अलग चलना चाहिए, इसलिए मैंने अपना /etc/bash.bashrc संपादित किया:

निर्यात OOHOST = मास्टर

अब, स्क्रिप्ट को पता है कि वे किस मेजबान की सेवा कर रहे हैं;)


1

DVcs-autosync का प्रयास करें ।

यह git पर आधारित है, XMPP का उपयोग फ़ाइल परिवर्तन के संप्रेषित ग्राहकों को सूचित करने के लिए करता है और इनकोड परिवर्तनों के माध्यम से फ़ाइल परिवर्तन घटनाओं पर प्रतिक्रिया करता है। तो यह फ़ाइल परिवर्तन के बाद हमेशा सही सूचना देता है, संघर्ष के मामले में यह गिट के सिद्ध तरीकों पर निर्भर करता है।

मैं SSH सार्वजनिक कुंजी के माध्यम से ड्रॉपबॉक्स प्रतिस्थापन के रूप में थोड़ी देर के लिए इसका उपयोग कर रहा हूं और यह वास्तव में काम करता है।


0

पॉवरफॉल्डर - सिंक फाइल्स, सिंक फोल्डर्स, रिमोट स्टोरेज, बैकअप और प्राइवेट फाइल शेयरिंग। घर और कार्यालय पीसी को सिंक करें, छुट्टी की तस्वीरें साझा करें या दस्तावेजों पर एक साथ काम करें। PowerFolder की सुरक्षित सहकर्मी से सहकर्मी तकनीक इंटरनेट या लैन पर काम करती है।


0

मैं जिन कार्यकारणों पर विचार करूंगा:

  • ड्रॉपबॉक्स।
    मुख्य कमियां: यह किसी भी उचित डेटा के लिए मुफ़्त नहीं है। अन्यथा यह त्रुटिपूर्ण IMHO काम करता है

  • एक NAS सर्वर। एनएएस सर्वर पर अपनी फाइलें रखो, वे हाल ही में सस्ती हो गईं (150 डॉलर या तो से) और एक अच्छा एक बहुत ऊर्जा का उपभोग नहीं करता है। कभी कोई सिंकिंग मुद्दे नहीं।
    मुख्य दोष: एक स्थानीय प्रतिलिपि की तुलना में धीमा


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

0

मैं पीसी के लिए मैक और सिंकबैक के लिए SyncTwoFolders का उपयोग करता हूं - घर पर मेरे तीन मैक के लिए पहला (समावेशी लैपटॉप), और काम पर अपने पीसी के लिए दूसरा। दोनों कार्यक्रमों में विभिन्न बैक-अप और सिंक विकल्प हैं, जो पहले से सेट होने के बाद इसे एक हवा बनाते हैं। बहुत आसान! मुझे यकीन है कि लिनक्स और उबंटू के लिए समान सॉफ्टवेयर के अन्य संस्करण उपलब्ध हैं।


0

आप ऑसिंक की तरह एक सिंक स्क्रिप्ट का उपयोग कर सकते हैं जो हटाए गए फ़ाइलों को प्रचारित कर सकते हैं और केवल संशोधित लोगों को अपडेट कर सकते हैं। http://www.netpower.fr/osync osync rsync आधारित है, लेकिन स्थानीय फ़ोल्डर या दूरस्थ ssh के बीच बहुत से सिंक परिदृश्यों को संभाल सकता है।

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