मेरे पास या तो खराब ब्लॉकों या क्षेत्रों के साथ एक हार्ड ड्राइव है जो संभावित यांत्रिक मुद्दों के कारण पढ़ने में विफल हो रहे हैं, जैसे कि खराब डिस्क सिर, खराब मोटर, या कुछ अन्य मुद्दे जो हार्ड ड्राइव को धीरे-धीरे और बहुत सारे के साथ डेटा पढ़ने में कठिनाई का कारण बन रहे हैं। पढ़ने में त्रुटि। मैं 50 केबी / सेकंड का औसत देख रहा हूं, जिसमें 10 केबी / सेक से नीचे कुछ पढ़ता है, और अक्सर यह एक फ़ाइल या सेक्टर पर पूरी तरह से अटक जाता है, आमतौर पर काफी लंबे समय के लिए - 2-10 मिनट या अधिक से (जब rsync का उपयोग करना, इससे पहले कि यह समय समाप्त हो जाए)।
गति बेतहाशा भिन्न होती है, और यह फ़ाइलों पर बहुत अधिक अटक जाती है, और जब यह अंततः "अनस्टक" हो जाती है, तो यह केवल एक छोटी फट के लिए पिछले लगती है इससे पहले कि यह फिर से अटक जाए। ड्राइव केवल नकल की फ़ाइलों की एक सामयिक ध्वनि के साथ बहुत शांत है (आमतौर पर जब यह अटक जाता है / थोड़े समय के लिए स्थिर हो जाता है, फिर से अटकने से पहले)। इस प्रकार, उन बुरी ध्वनियों में से कोई भी नहीं है जो सामान्य रूप से एचडीडी की मृत्यु के साथ जुड़ी हुई हैं। किसी ने सुझाव दिया कि समस्याओं की तरह लग रहा था जैसे वे एक गलत डिस्क सिर के कारण हो सकते हैं, जिसे अंततः सफलता के साथ डेटा पढ़ने से पहले बहुत अधिक री-रीड की आवश्यकता होती है। प्रशंसनीय लगता है, लेकिन मुझे लगता है ...
वैसे भी, rsync के साथ समस्या यह है कि ऐसा लगता है कि समर्थन में कोई भी त्रुटि नहीं है। जाहिर है, यह हार्ड ड्राइव में नाकाम रहने से डाटा को पुनः में इस्तेमाल के लिए चाहिए था नहीं है, लेकिन सभी तथाकथित "डेटा रिकवरी" वहाँ उपयोगिताओं कि कर रहे हैं इस तरह के प्रयोग के लिए आम तौर पर नष्ट कर दिया फ़ाइलों की वसूली पर ध्यान केंद्रित करने या बजाय विभाजन में गड़बड़, हार्ड ड्राइव मरने से फ़ाइलों की प्रतिलिपि बनाना। हटाए गए फ़ाइल पुनर्प्राप्ति वह नहीं है जो मुझे चाहिए, जाहिर है, इसलिए शायद आप मेरी निराशा को समझ सकते हैं कि मैं अभी तक जो कुछ भी कर रहा हूं उसे खोजने में सक्षम नहीं हूं।
स्वाभाविक रूप से, यह वह जगह है जहां आप शायद कहेंगे "आपको ddresoscope का उपयोग करना चाहिए!" ठीक है, यह सब ठीक है और बांका है, लेकिन मैं पहले से ही अधिकांश डेटा का बैकअप ले चुका हूं, इसलिए मैं कुछ फाइलों को पुनर्प्राप्त करना चाहता हूं। मैं एक पूर्ण विभाजन ब्लॉक-बाय-ब्लॉक को पुनर्प्राप्त करने की कोशिश करने से चिंतित नहीं हूं जैसा कि ddrescue करता है। मुझे केवल विशिष्ट फ़ाइलों और निर्देशिकाओं को सहेजने में दिलचस्पी है।
आदर्श रूप से, मैं चाहूंगा कि rsync और ddrescue के बीच किसी प्रकार का क्रॉस हो: कुछ ऐसा है जो मुझे स्रोत और गंतव्य को rsync जैसी सामान्य फ़ाइलों की निर्देशिका के रूप में निर्दिष्ट करने देता है (बजाय दो पूर्ण विभाजन के रूप में ddresoscope की आवश्यकता होती है), फ़ाइलों को छोड़ने का एक तरीका है एक प्रारंभिक रन में त्रुटियां, और फिर मुझे बाद में चलाने में थोड़ी सी भी त्रुटि के साथ उन फ़ाइलों की पुनर्प्राप्ति का प्रयास करने की अनुमति देता है (निश्चित रूप से, थोड़ा बदला हुआ आदेश), शायद यहां तक कि रिट्री प्रयासों की संख्या निर्दिष्ट करने के लिए एक विकल्प की पेशकश ... बस की तरह कैसे ddrescue ब्लॉकों के साथ काम करता है, केवल मैं एक उपयोगिता चाहता हूं जो rsync जैसी विशिष्ट फ़ाइलों / निर्देशिकाओं के साथ काम करता है।
तो क्या मैं यहाँ पर दिन-रात एक कर रहा हूँ, या कुछ ऐसा मौजूद है जो ऐसा कर सकता है? या, शायद इस तरह से rsync या ddrescue काम करने का एक तरीका भी है? मैं वास्तव में जो भी समाधान काम कर सकता हूं, उसके लिए खुला हूं, जब तक वे मुझे यह चुनने दें कि मैं "बचाव" के लिए कौन सी फाइलें चाहता हूं, और प्रारंभिक रन में त्रुटियों के साथ फाइलें छोड़ सकता हूं, और बाद में उन त्रुटियों को फिर से प्रयास कर सकता हूं।
अब तक मैंने निम्नलिखित विकल्पों के साथ rsync की कोशिश की है, लेकिन यह अक्सर टाइमआउट से अधिक समय के लिए फ़ाइल पर अटक जाता है, और आदर्श रूप से मैं इसे अगली फ़ाइल पर ले जाना पसंद करूंगा और बाद में इसे प्राप्त फ़ाइलों पर वापस आऊंगा पर अटक जाना। मुझे नहीं लगता कि यह संभव है। वैसे भी, यहाँ मैं अब तक का उपयोग कर रहा हूँ:
rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/