क्या उबंटू / लिनक्स में एक कॉपी-और-वेरीफाइड कमांड है?


23

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

कॉपी और (सत्यापित | मान्य | चेक | हैश | पुष्टि) के लिए मेरे अधिकांश googling rsync को बदल देता है। हालाँकि, जहाँ तक मैं बता सकता हूँ, rsync केवल हैश का उपयोग करता है यह देखने के लिए कि किसी फ़ाइल को अद्यतन करने की आवश्यकता है या नहीं। यह बाद में हैश तुलना नहीं करता है।

इस उपयोग के लिए, विशेष रूप से, फाइलें बाइनरी हैं और आमतौर पर 8-10 एमबी। DIY समाधानों के लिए उपयोगिताओं या मार्गदर्शन के लिए कोई भी सिफारिश बहुत सराहना की जाएगी।

जवाबों:


19

से man rsync, के अंतर्गत -c विकल्प:

-c, - checksum: चेकसम के आधार पर छोड़ें, मॉड-टाइम नहीं & amp; आकार

ध्यान दें कि rsync हमेशा इसकी पुष्टि करता है   प्रत्येक स्थानांतरित फ़ाइल सही ढंग से थी   द्वारा प्राप्त पक्ष पर खंगाला   एक पूरी फ़ाइल चेकसम की जाँच करना   gener-                 फ़ाइल के रूप में स्थानांतरित किया गया, लेकिन वह स्वचालित है   हस्तांतरण के बाद सत्यापन है   इस विकल्प से कोई लेना देना नहीं है   ट्रांसफर से पहले "यह फाइल करता है                 अद्यतन करने की आवश्यकता है?


5
कुछ लोगों को पता चला कि rsync मैनुअल डिफ़ॉल्ट पोस्ट कॉपी जांच के बारे में भ्रामक है: unix.stackexchange.com/a/66702/148560 ऐसा लगता है कि ऐसा कोई चेक नहीं है। सभी प्रतियों को सत्यापित करने के लिए आपको एक और rsync - checksum विकल्प के साथ करना होगा, वे कहते हैं।
Rotareti

4

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

उस समय तक, मेरे पास मौजूद सभी बैकअप प्रतियां फ़ाइल (नों) का यह बिट-रॉटेड संस्करण हो सकती हैं।

ZFS को RAID-5 पर एक लाभ है कि यह व्यक्तिगत डिस्क पर संग्रहीत डेटा में त्रुटियों का पता लगा सकता है और उनकी मरम्मत कर सकता है, भले ही ड्राइव डेटा को पढ़ते समय एक पठन त्रुटि की रिपोर्ट न करें। यह पता लगाएगा कि चेकसम के माध्यम से, कि डिस्क में से एक दूषित सूचना लौटा दी गई है और उस डिस्क को सुधारने के लिए अतिरेक डेटा का उपयोग करेगा।

जिस तरह से ZFS में चेकसमिंग को डिज़ाइन किया गया है, मैंने महसूस किया कि मैं उस पर भरोसा कर सकता था ताकि लंबे समय तक डेटा का उपयोग किया जा सके। हर हफ्ते मैं एक "ज़ूलप स्क्रब" चलाता हूं जो सभी डेटा को फिर से पढ़ता है और जांच करता है।

ZFS-FUSE ने पिछले कुछ वर्षों में मेरे लिए काफी अच्छा प्रदर्शन किया है।

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


क्यों डाउन वोट? चूंकि कोई टिप्पणी नहीं बची थी, इसलिए मैं इसे "-1, असहमति" मानूंगा। :-)
Sean Reifschneider

...परन्तु फिर: कौन सा हिस्सा पर असहमत है? हालांकि शायद सवाल के लिए थोड़ा सा विषय है, यह मुझे ठोस लगता है। इसलिए मुझे उम्मीद है कि ऊपर दिए गए कुछ वास्तविक दोषों के बारे में हमें बेखबर छोड़ने के बजाय "सवाल का जवाब नहीं" देने के लिए डाउनवोट था ...
Arjan

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

मुझे लगता है कि ओपी की चिंता पारगमन में डेटा भ्रष्टाचार थी। आप एक फ़ाइल की प्रतिलिपि बनाते हैं और प्रतिलिपि मूल से भिन्न होने पर समाप्त होती है।
Jon Bentley

btrfs? चेकसम है और मूल निवासी है ...
Dmitry Kudriavtsev

1

मुझे यह उपयोगिता (लिनक्स और विंडोज) मिली जो आप चाहते हैं (लॉग के साथ हैश कॉपी + हैशेड सत्यापन): http://sourceforge.net/projects/quickhash/

केवल नकारात्मक पक्ष यह है कि यह केवल GUI के रूप में मौजूद है (कोई कमांड लाइन का उपयोग नहीं)

V1.5.0 के बाद से, एक चयनित स्रोत फ़ोल्डर को हैश किया जा सकता है, फिर कॉपी किया गया & amp;   एक गंतव्य फ़ोल्डर में पुन: निर्मित किया जाता है जहां सामग्री फिर से होती है   सत्यापन के लिए हैशेड। 1.5.5 के बाद से, चयनित फ़ाइल मास्क का उपयोग किया जा सकता है,   भी (* .doc; * .xls आदि)।



0

यदि आप फ़ाइल को स्थानीय रूप से कॉपी कर रहे हैं (जैसा कि आपके संदर्भ से निहित है cp के बजाय scp आदि), तो बस cmp स्रोत और गंतव्य फ़ाइलें ... लेकिन वास्तविक रूप से, यदि cp किसी प्रकार की त्रुटि (या तो कमांड लाइन पर या निष्पादन वापसी मूल्य में) का उत्सर्जन नहीं कर रहा है, यह मानने का कोई कारण नहीं है कि यह काम नहीं कर रहा है।

यदि आप वास्तव में वैध रूप से बैकअप चाहते हैं, तो जैसे रिमोट समाधान पर विचार करें ड्रॉपबॉक्स


+1। यह स्पष्ट नहीं है कि इस उत्तर को अस्वीकृत कर दिया गया क्योंकि यह प्रदान करता है (जो मुझे प्रतीत होता है) समस्या का पूरी तरह से वैध समाधान हो, भले ही इसके लिए एक के बजाय दो आदेशों की आवश्यकता हो।
Jon Bentley
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.