क्या केवल एक विभाजन को सिंक करने का एक तरीका है?


17

क्या सभी विभाजनों के बजाय केवल एक विभाजन को सिंक करने का एक तरीका है?

"सिंक / देव / sdc1" जैसा कुछ।


1
जहां तक ​​मैं जानता हूं। अच्छा सवाल है, हालांकि।
निखिल मुल्ले

जवाबों:


10

आप सिंक विकल्प के साथ रिमाउंट कर सकते हैं और फिर इसे async के साथ वापस कर सकते हैं:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

रिमाउंट विकल्प के उपयोग से रिमाउंटेड फाइलसिस्टम का उपयोग करने वाली प्रक्रियाओं में गड़बड़ी नहीं होगी।


2
आपको क्यों लगता है कि 2 रीमेक आवश्यक हैं? कम से कम 2.6.32 कर्नेल में do_remount_sb सिंक_फाइलसिस्टम करता है जो समान फ़ंक्शन है जिसे lwn.net/Articles/433384 में पेश किए गए समन्वयन सिस्टम कॉल में कहा जाता है ।
यूरी नाज़रोव

5

एक फ़ाइल के डेटा (और मेटाडेटा) को सिंक्रनाइज़ करने के लिए एक मानक फ़ंक्शन है fsync:। इसे एक्सेस करने के लिए कोई मानक या सामान्य शेल कमांड नहीं है, लेकिन आप पर्ल की syncविधि का उपयोग कर सकते हैं IO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

केवल एक विभाजन को सिंक्रनाइज़ करने के लिए कोई मानक या सामान्य फ़ंक्शन या शेल कमांड नहीं है।

पर हाल ही में Linux सिस्टम , वहाँ है syncfsसिस्टम कॉल (कर्नेल 2.6.39 में पेश किया, और के बाद से अवगत कराया glibc 2.14 )। मुझे नहीं लगता कि यह सिस्टम कॉल अभी भी कोर्यूटिल्स या यूज़-लाइनक्स में उजागर हुआ है।


1
अंतिम वाक्य syncfsसबसे प्रासंगिक हिस्सा है।
poolie

3

syncविकल्प के साथ विभाजन को माउंट करना एक समाधान हो सकता है।


2

यदि आप उस syncउपयोगिता का मतलब है जो डिस्क को मेमोरी में डेटा फ्लश करते हैं, तो जवाब नहीं है। यह इस तथ्य के कारण है कि syncआम तौर पर एक शटडाउन या रिबूट प्रक्रिया के दौरान उपयोग किया जाता है, जहां डिस्क पर सुरक्षित रूप से लिखे गए डेटा को प्राप्त करना उचित है, और ऑपरेशन का वास्तविक लक्ष्य मेमोरी है, डिस्क नहीं है और रैम से बाहर उस बफर डेटा को प्राप्त करना है। कहीं सुरक्षित है। डिस्क वही हैं जहां डेटा समाप्त होता है।


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