यह कमांड fssync है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
fssync - फ़ाइल सिस्टम सिंक्रोनाइज़ेशन टूल (1-वे, SSH पर)
SYNOPSIS
fssync -d db -r जड़ [विकल्प...] मेजबान
वर्णन
fssync एक 1-वे फ़ाइल-सिंक्रनाइज़ेशन टूल है जो इनोड को ट्रैक करता है और स्थानीय को बनाए रखता है
दूरस्थ पक्ष पर मौजूद फ़ाइलों का डेटाबेस, इसे सक्षम बनाता है:
· बड़ी संख्या में डीआईआर/फ़ाइलों को कुशलतापूर्वक संभालें
· नाम बदलने/चाल और हार्ड-लिंक का पता लगाएं
इसका उद्देश्य नेटवर्क ट्रैफ़िक को कम करना और फ़ाइल सिस्टम के प्रत्येक विवरण को सिंक्रनाइज़ करना है:
· सभी प्रकार के इनोड: फ़ाइल, डीआईआर, ब्लॉक/कैरेक्टर/फीफो, सॉकेट, सिम्लिंक
· कड़ी कड़ियों को सुरक्षित रखें
· संशोधन समय, स्वामित्व/अनुमति/एसीएल, विस्तारित विशेषताएँ
· विरल फ़ाइलें
अन्य विशेषताएं:
· इसे फ़ाइलों को सिंक्रनाइज़ेशन से बाहर करने के लिए कॉन्फ़िगर किया जा सकता है
· fssync को किसी भी समय बाधित और फिर से शुरू किया जा सकता है, जिससे यह यादृच्छिक विफलताओं के प्रति सहनशील हो जाता है
(जैसे नेटवर्क त्रुटि)
· फ़ाइल सामग्री को सिंक्रनाइज़ करने के लिए एल्गोरिदम को वीएम छवियों जैसी बड़ी फ़ाइलों को संभालने के लिए डिज़ाइन किया गया है
निश्चित आकार के संशोधित ब्लॉकों को यथास्थान अद्यतन करके कुशलतापूर्वक
fssync का मुख्य उपयोग हार्डवेयर विफलता की स्थिति में डेटा हानि को रोकना है, जहां RAID1 है
संभव नहीं है (जैसे लैपटॉप में)।
On बीटीआरएफएस [1] फ़ाइल सिस्टम, fssync एक उपयोगी विकल्प है btrfs भेजें (और प्राप्त करना)
आदेश, फ़िल्टरिंग क्षमताओं के लिए धन्यवाद। इसे Btrfs स्नैपशॉटिंग के साथ जोड़ा जा सकता है
पूर्ण बैकअप समाधान के लिए गंतव्य पक्ष पर।
उपयोग
उपयोग fssync --मदद विकल्पों की पूरी सूची प्राप्त करने के लिए.
याद रखने वाली सबसे महत्वपूर्ण बात यह है कि स्थानीय डेटाबेस बिल्कुल उसी से मेल खाना चाहिए
गंतव्य होस्ट पर:
· गंतव्य होस्ट पर कॉपी की गई फ़ाइलों को संशोधित नहीं किया जाना चाहिए। और कुछ भी नहीं होना चाहिए
गंतव्य निर्देशिकाओं के अंदर मैन्युअल रूप से बनाया जाए। यदि आप अभी भी डेटा एक्सेस करना चाहते हैं
रिमोट होस्ट, आपको इसे केवल-पढ़ने के लिए बाइंड माउंट के माध्यम से करना चाहिए (लिनक्स> = की आवश्यकता है)।
2.6.26)।
· यदि आप इसकी कई प्रतियां रखने की योजना बना रहे हैं, तो आपके पास प्रति गंतव्य 1 डेटाबेस होना चाहिए
स्रोत निर्देशिका.
देखो -c विकल्प यदि आप जानना चाहते हैं कि आपका डेटाबेस गंतव्य निर्देशिका से मेल खाता है या नहीं।
fssync का पहला रन:
· सबसे आसान तरीका यह है कि fssync को सब कुछ करने दिया जाए। एक गैर-मौजूदा फ़ाइल पथ निर्दिष्ट करें -d
विकल्प और एक खाली या गैर-मौजूदा गंतव्य निर्देशिका (देखें)। -R विकल्प)। fssync करेगा
स्वचालित रूप से डेटाबेस बनाता है और सभी डीआईआर/फ़ाइलों को दूरस्थ होस्ट पर कॉपी करता है।
· प्रारंभिक प्रतिलिपि अन्य तरीकों से करना एक तेज़ तरीका हो सकता है, जैसे कि इसकी कच्ची प्रतिलिपि
विभाजन. यदि आप पूरी तरह आश्वस्त हैं कि स्रोत और गंतव्य बिल्कुल एक ही हैं,
आप निर्दिष्ट करके डेटाबेस को आरंभीकृत कर सकते हैं - मेजबान के रूप में. यदि इनोड संख्याएँ समान हैं
दोनों तरफ, यदि डेटा ब्लॉक स्तर पर कॉपी किया गया था, तो आप इसे संशोधित कर सकते हैं
जब आप गंतव्य पर डीबी आरंभ कर रहे हों तो स्रोत विभाजन करें, और वापस आएँ
डीबी स्थानीय रूप से।
फ़िल्टर के साथ fssync के आसपास रैपर का एक उदाहरण यहां पाया जा सकता है उदाहरण/fssync_home
fssync कभी भी अन्य फ़ाइल सिस्टम पर निर्देशिकाओं को अवतरित नहीं करता है। आरोह बिंदुओं द्वारा छिपाए गए इनोड
भी छोड़ दिए गए हैं, इसलिए यदि आप चाहते हैं कि उन्हें अस्थायी रूप से अनमाउंट किया जाए
सिंक्रनाइज़. बाइंड माउंट से सिंक्रोनाइज़ करके समान परिणाम प्राप्त किया जा सकता है।
यह भी देखें कोई नहीं बीजलेख स्विचिंग [2] यदि आपको एन्क्रिप्शन की आवश्यकता नहीं है और आप चाहते हैं तो पैच करें
अपने SSH कनेक्शन को तेज़ करें.
कैसे IT काम करता है
fssync दूरस्थ पक्ष पर मौजूद सभी डीआईआर/फ़ाइलों की एक एकल SQLite तालिका बनाए रखता है। प्रत्येक
पंक्ति एक पथ से मेल खाती है, इसके इनोड (स्थानीय तरफ), अन्य मेटाडेटा (दूरस्थ तरफ) और ए के साथ
जाँच झंडा।
चलते समय, fssync सभी स्थानीय डायर/फ़ाइलों और प्रत्येक पथ के लिए पुनरावर्ती रूप से पुनरावृत्त होता है
इसे नजरअंदाज नहीं किया जाता है (देखें) -f विकल्प), यह डीबी से यह निर्णय लेने के लिए प्रश्न करता है कि क्या करना है। यदि पहले से ही
जाँच, पथ तुरंत छोड़ दिया जाता है। जब कोई पथ सिंक्रनाइज़ किया जाता है, तो उसे इस रूप में चिह्नित किया जाता है
जाँच. अंत में, सभी पंक्तियाँ जो नहीं हैं जाँच उन पथों से मेल खाता है जो मौजूद नहीं हैं
अब और। एक बार जब वे दूरस्थ पक्ष पर हटा दिए जाते हैं, तो सभी जाँच झंडे रीसेट कर दिए गए हैं.
विफलता सहिष्णुता
वास्तव में, fssync को यह आवश्यक नहीं है कि डेटाबेस गंतव्य से पूरी तरह मेल खाए। यह
किसी भी कारण से बाधित सिंक्रनाइज़ेशन को पुनर्प्राप्त करने के लिए कुछ अंतरों को सहन करता है
नेटवर्क विफलता, फ़ाइल संचालन त्रुटि, या ऑपरेटिंग सिस्टम क्रैश के अलावा कुछ भी
स्थानीय होस्ट का (या बिजली विफलता जैसा कुछ)।
ज्यादातर मामलों में, यह रिमोट होस्ट द्वारा किया जाता है, जो स्वचालित रूप से बनाता है (या ओवरराइट करता है)
यदि आवश्यक हो तो अपेक्षित प्रकार का एक इनोड। एकमात्र अपवाद यह है कि रिमोट होगा
किसी गैर-रिक्त निर्देशिका को कभी भी अपने आप न हटाएँ। अधिकांश जटिल मामलों के लिए, fssync जर्नलाइज़ करता है
डेटाबेस में ऑपरेशन: विफलता की स्थिति में, fssync अगले पर पुनर्प्राप्त करने में सक्षम होगा
सिंक।
दौड़ स्थितियां
दौड़ की स्थिति का मतलब है कि स्थानीय होस्ट पर अन्य प्रक्रियाएं इनोड को संशोधित कर रही हैं
fssync सिंक्रनाइज़ हो रहा है. fssync किसी भी प्रकार की दौड़ स्थिति को संभालता है। वास्तव में, fssync के पास है
अधिकांश मामलों में करने के लिए कुछ नहीं है।
जब कोई दौड़ की स्थिति होती है, तो fssync यह गारंटी नहीं देता है कि दूरस्थ डेटा एक में है
सुसंगत अवस्था. प्रत्येक सिंक हमेशा मौजूदा विसंगतियों को ठीक करता है लेकिन परिचय भी दे सकता है
अन्य, इसलिए fssync डेटाबेस के हॉट बैकअप के लिए उपयुक्त नहीं है।
Btrfs के साथ, आप स्रोत पक्ष पर स्नैपशॉट द्वारा स्थिरता प्राप्त कर सकते हैं।
समान परियोजनाएं
स्थानीय डेटाबेस को बनाए रखने का विचार वास्तव में यहीं से आता है csync2 [3]. मैं बस करने ही वाला था
इसे तब अपनाया जब मुझे एहसास हुआ कि मुझे वास्तव में एक ऐसे उपकरण की आवश्यकता है जो हमेशा नामों/चालों का पता लगाता हो
बड़ी फ़ाइलें. इसीलिए मैं fssync को इनोड ट्रैकिंग और के साथ csync2 के आंशिक पुनर्लेखन के रूप में देखता हूं
द्विदिश तुल्यकालन के बिना. स्थानीय डेटाबेस वास्तव में fssync और csync2 बनाता है
प्रसिद्ध से भी तेज़ rsync [4]
onworks.net सेवाओं का उपयोग करके ऑनलाइन fssync का उपयोग करें