क्या एक काम करने वाला लिनक्स बैकअप सॉल्यूशन है जो इनोटिफाई का उपयोग करता है?


17

यह हमेशा के लिए वापस ले लेता है। इससे पहले कि हम बैकअप वृद्धिशील स्नैपशॉट पर btrfs या ZFS पर भरोसा कर सकें, क्या यह अच्छा नहीं होगा यदि एक डेमॉन था जो कि उन फ़ाइलों का ट्रैक रखने के लिए inotify का उपयोग करता था जो वास्तव में बदल गए थे ताकि बैकअप अधिक तेज़ी से चले? यह कार्यक्रम कहां है?

हर बार पूरे फाइल सिस्टम को क्रॉल किए बिना मैं अपने लिनक्स बॉक्स का बैकअप कैसे ले सकता हूं? मैं एक ऐसा कार्यक्रम चाहूंगा, जो नए या बदले हुए फोटो, स्रोत कोड आदि का पता लगाएगा और उन्हें मेरे NAS पर कॉपी करने के लिए कतार में खड़ा कर देगा।


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

@WerkkreW, मुझे नहीं लगता कि वह जो बैकअप की कोशिश कर रहा है वह सब महत्वपूर्ण है। मुझे कुछ भी संदेह है जो घटना-आधारित बैकअप के लिए अनुमति देता है, जिसके बारे में जानने के लिए दिलचस्प होगा। अनुरोध असामान्य नहीं है, OSX में टाइम मशीन है जो घटना आधारित है।
ज़ोर्डशे

मुझे अभी भी लगता है कि प्रश्न का उत्तर देने से पहले थोड़ा और स्पष्टीकरण चाहिए।
विर्क्रेव

1
@Zoredache, निश्चित रूप से जो मैं समर्थन कर रहा हूं वह महत्वपूर्ण है! अगर यह महत्वपूर्ण नहीं था ... ओह रुको,; मैं अपने घर निर्देशिका का बैकअप लेने के लिए बिना किसी अनुपयोगी मशीन के बिना n घंटे के लिए पूरी चीज को क्रॉल करना चाहता हूं, जब केवल नया सामान एक सेट होता है मेरे नवजात बच्चे की तस्वीरों की।
जोफोरकर

3
सवाल मुझे पूरी तरह से स्पष्ट लगता है: मैक ओएस एक्स की टाइम मशीन बैकअप तेज है क्योंकि यह fsevents पर नज़र रखता है इसलिए यह जानता है कि बैकअप चलाने के दौरान उसे कहाँ देखना है। लिनक्स में inotify, fsevents के समान सुविधा, और फिर भी Linux बैकअप सॉल्यूशंस जो टाइम मशीन (जैसे dirvish) को अनुमानित करने की कोशिश करते हैं, बुरी तरह से धीमे हैं क्योंकि वे inotify का लाभ नहीं लेते हैं। क्या कोई ऐसा है जो करते हैं?
बेंडिन

जवाबों:


11

मैंने अपने प्रश्न का उत्तर "yum search inotify" के साथ दिया। इसे lsyncd कहा जाता है और इसे google कोड पर होस्ट किया जाता है।

दुर्भाग्य से ऐसा लगता है कि यह हमेशा एक पूर्ण rsync पहले चलाता है, इसलिए यह अभी भी मेरी मदद नहीं करेगा अगर मेरा कंप्यूटर एक बार में 14 घंटे से अधिक समय तक चालू नहीं था।

Lsyncd एक दूरस्थ मशीन चलाने वाली rsyncd के साथ स्थानीय निर्देशिकाओं को सिंक्रनाइज़ करने के लिए rsync का उपयोग करता है। Lsyncd inotify के माध्यम से कई डायरेक्टरी ट्री देखता है। घड़ियों को जोड़ने के बाद पहला चरण दूरस्थ होस्ट के साथ सभी निर्देशिकाओं को rsync करना है, और फिर इनोटिफ़ाइड घटनाओं को इकट्ठा करके एकल फ़ाइल को सिंक करना है। तो lsyncd एक लाइट-वेट लाइव मिरर सॉल्यूशन है जिसे आपके सिस्टम के साथ अच्छी तरह से ब्लेंड करते समय इंस्टॉल और उपयोग करना आसान होना चाहिए। विस्तृत कमांड लाइन विकल्पों के लिए lsyncd --help देखें।


यह एक दिलचस्प कड़ी है, मैंने खुद को लागू करने के बारे में सोचा था। लेकिन यह पृष्ठ पर क्यों कहता है कि यह प्रत्येक परिवर्तन के लिए बड़ी फ़ाइलों को फिर से संदर्भित करेगा? मैंने सोचा था कि rsync खुद ही पहले ही इससे बच जाएगा?
हनो फिएट

rsync को अभी भी पूरी फाइल को दोनों सिरों पर फिर से पढ़ना है ताकि इसे कुशलता से स्थानांतरित कर सकें। Lsyncd प्रलेखन का कहना है कि यह बड़ी फ़ाइलों के लिए कुशल नहीं हो सकता है। बड़ी फ़ाइलों के लिए एक ब्लॉक-स्तरीय प्रतिकृति योजना अधिक उपयुक्त होगी।
joeforker

3

की एक नई प्रणाली है जिसे fsnotifyउन कमियों को हल करने के लिए डिज़ाइन किया inotifyगया है जिनकी समस्याओं को हल करने के लिए शुरू किया गया था dnotifyfsnotifyआप बहुत उपद्रव के बिना एक पूरे फाइल सिस्टम को देखने देता है। उम्मीद है कि fsnotifyहमारे भविष्य के सभी लिनक्स बैकअप समस्याओं को हल करने में मदद मिलेगी।


2

आप के साथ कुछ हैक कर सकते हैं incron

 / path1 IN_CLOSE_WRITE rsync -au $ @ / $ # backuphhost: / पाथ


incron निर्देशिकाओं को पुनरावर्ती रूप से नहीं देख सकता है
joeforker

खैर दुह! यह बहुत उपयोगी लग रहा था: -S
hayalci

2

अनुसंधान के आधार पर (परीक्षण नहीं) ऐसा लगता है जैसे कि अधिकांश सिस्टम पर बहुत बड़ी संख्या में फ़ाइलों को हैंडल नहीं किया जा सकता है और / या बहुत धीमी गति से ऐसा कर रहा है। Http://www.pubbs.net/kernel/200905/109416/ पर थ्रेड सबसे उपयोगी था, इसने एक नए लिनक्स फ़ीचर की ओर इशारा किया, जो मेनलाइन, fsnotify की ओर जाता है, जो कि 2.6.31 में है। और बादमें।


2

Lsyncd स्टार्टअप पर पूरे देखे गए पेड़ को सिंक करता है, क्योंकि 99% मामलों में ऐसा करने के लिए समझदार चीज़ है। आप चाहते हैं कि आपके पास स्थानीय होस्ट पर मौजूद टारगेट होस्ट की निर्देशिका हो, अन्यथा सिंक विफल हो सकते हैं और आप उन चीजों को सिंक करना चाहते हैं जिन्हें आपने बंद कर दिया था। हालाँकि, यदि आप जानते हैं कि आप क्या कर रहे हैं, तो आप स्टार्टअप सिंकिंग को बंद कर सकते हैं, बस Lsyncd config फाइल में सिंक {..., स्टार्टअप = गलत} सेट करें।

inotify के बारे में, इसकी फाइलों की संख्या नहीं है, लेकिन उन निर्देशिकाओं की संख्या है जो कि स्रोत खाते हैं। एक निर्देशिका एक घड़ी है, चाहे इसमें कितनी भी फाइलें हों।

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


एक बनाने के बाद भी नहीं हटा के रूप में?
जोफॉकर

1
मेरे परीक्षणों में नहीं, नहीं: --( फैनोटिफ़ाइ को वायरस की ढाल को ध्यान में रखते हुए डिज़ाइन किया गया था, और IMHO को अभी न्यूनतम उस न्यूनतम के अनुरूप बनाया गया है जिसकी आवश्यकता है।
axkibe

1

मैंने 6 महीने बिताए हैं कि आप जो करने की कोशिश कर रहे हैं उसे करने के लिए सबसे अच्छा समाधान ढूंढ रहे हैं; एक NAS करने के लिए कुशलता से बैकअप। प्रारंभिक सिंक के बाद, बाकी सभी मक्खन के रूप में चिकना है। Lsyncd का नवीनतम संस्करण काफी अच्छा काम करता है। मैंने नीचे दिए गए लिंक में क्या किया है, मैंने इसका दस्तावेजीकरण किया है। बस अपने फ़ोल्डर मानों को प्रतिस्थापित करें। उम्मीद है की यह मदद करेगा:

https://docs.google.com/document/d/1XpqM5h5YMwuQqzdknyDDnjcQVYGjAsyAxfYprqSnhd0/edit


0

आसिया में एक नई प्रणाली का उपयोग किया जाता है, जिसे sersync कहा जाता है जो कि inotify-tool + rsync रिज़ॉल्यूशन http://code.google.com/p/serync/ के बजाय इसका उपयोग करना बहुत आसान है।

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