फ़ाइलों को कम करने के तरीके


9

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

अगर मैं इन सभी फाइलों को एक ही डायरेक्टरी में कॉपी करता हूं, तो क्या कोई ऐसा टूल है, जो थ्रू फाइल को पहचान सकता है और मुझे लिस्ट दे सकता है या डुप्लिकेट में से एक डिलीट भी कर सकता है?


जवाबों:


3

प्रत्येक फ़ाइल का एक md5sum बनाएँ, डुप्लिकेट md5sums का सुझाव (लेकिन गारंटी नहीं देता) डुप्लिकेट फ़ाइलें।


1
वे दृढ़ता से "सुझाव" देते हैं, हालांकि :) .. और यदि फाइलें समान आकार की हैं, तो सुझाव के सही होने की संभावना असाधारण रूप से उच्च है
वॉरेन

2

आप समान फ़ाइलों को हार्डलिंक में बदलने के लिए डुपमेजर का उपयोग कर सकते हैं । यह एक लूँगा बहुत लंबे समय के एक बड़े हालांकि सेट फ़ाइल पर। फाइलों की SHA (या MD5) हैश लगभग निश्चित रूप से तेजी से काम करेगी, लेकिन आपको डुप्लिकेट खोजने में अधिक लेगवर्क करना होगा। आकस्मिक टकराव की संभावना इतनी कम है कि वास्तव में आप इसे अनदेखा कर सकते हैं। (वास्तव में, कई डिडुप्लीकेशन उत्पाद पहले से ही ऐसा करते हैं।)

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


1
hardlinkबहुत तेज़ है (1.2M फ़ाइलों के लिए 200 सेकंड में, 320GB)
Marcel Waldvogel

1

ठीक है, अगर आपके पास क्षमता है, तो आप एक फ़ाइल सिस्टम को घटा सकते हैं और उस पर अपना बैकअप रख सकते हैं। यह न केवल पूरी फ़ाइलों को कम करेगा, बल्कि फाइलों के समान टुकड़े भी करेगा। उदाहरण के लिए, यदि आपके पास एक ही JPEG कई स्थानों पर है, लेकिन प्रत्येक संस्करण पर अलग-अलग EXIF ​​टैग्स के साथ, एक डुप्लिकेटिंग फ़ाइल सिस्टम केवल छवि डेटा को एक बार संग्रहीत करेगा।

Deduplicating filesystems में पट्टिका, ZFS और SDFS शामिल हैं।


1
मैं एसडीएफएस या कम एफएएस पर कटौती के बारे में नहीं बोल सकता, लेकिन जेडएफएस पर डेडुप इस तरह काम नहीं करता है। यह ब्लॉक स्तर पर जाँच करता है, इसलिए समरूप फ़ाइलों को डिडअप के लिए फ़्लैग किया जाएगा, लेकिन एक अलग हेडर वाली फ़ाइलों की संभावना नहीं होगी। इसके अतिरिक्त, आपके ZFS रिकॉर्ड से छोटी फाइलें (डिफ़ॉल्ट रूप से 128KB है) को एक साथ एक ही ब्लॉक में पैक किया जा सकता है, इसलिए हो सकता है कि वे भी कटौती से लाभ न लें।
नोटरी

Deduplicated filesystem (zfs या btrfs) केवल बैकअप होस्ट पर स्थान बचाता है। यह हस्तांतरित डेटा की मात्रा को नहीं बचाता है। फ़ाइलों के लिए कुछ हैश की गणना करना और बैकअप होस्ट पर भेजना कुछ विचार है। जब यह कहता है कि "मेरे पास यह है", उस फ़ाइल के लिए बैकअप किया जाता है। यह बहुत महंगा (पैसा) बैकअप सॉफ्टवेयर पर लागू किया गया है। मैंने इसके बारे में खुले स्रोत पर कभी नहीं सुना। लेकिन शायद अब इसे लागू किया जाता है, जो जानता है :)
ज़िकेन

rsync --link-destयदि आप पठन / हस्तांतरण पर भी बचत करना चाहते हैं तो @Znik आपका मित्र है। एक साधारण परिचय यहाँ है: netfuture.ch/2013/08/…
मार्सेल

यह फ़ाइल में असाइन किए गए इनोड्स का परीक्षण करके काम कर रहा है। लेकिन जब डुप्लीकेशन छिपा होता है, उदाहरण के लिए स्क्वाशफ फाइलसिस्टम में, तो rsync यह जाँच नहीं कर सकता और उसी डेटा को कई बार ट्रांसफर करेगा।
ज़नीक

0

जब मैं इस तरह की बात कर रहा था, तो मुझे पता चला कि यह वास्तव में सिर्फ कुछ ही हफ्तों में अपने खाली समय में फाइलों के माध्यम से जाने के लिए बहुत अधिक आकर्षक / समय-कुशल है। आप अपने कंप्यूटर से बेहतर तरीके से चीजों के बीच अंतर बता सकते हैं।

यदि आप सहमत नहीं हैं, तो मेरा सुझाव है कि EasyDuplicateFinder । जैसा कि मैंने ऊपर उल्लेख किया है, हालांकि, 5GB फ़ाइलों के लिए एक दिन के बारे में, एक लंबा समय लगेगा।

और दूसरे नोट पर, क्रैशप्लेन वह करता है जो आप पहले कर रहे थे, लेकिन बहुत अधिक संगठित, गैर-संस्करण-समस्या तरीके से।


0

एक और संभावना है, आप जिन मशीनों का समर्थन कर रहे हैं, यह अनुमान लगाएगा कि यह कुछ का उपयोग करना है rsync

यदि आप rsyncA से B तक हैं, तो C से B तक, फिर D से B, आदि तक, सटीक डुप्लिकेट (यानी, फ़ाइल नाम से) समाप्त हो जाएंगे (और उन मशीनों के बीच तालमेल बिठाते हैं)।

यदि आप उन सभी को एक दूसरे के साथ सिंक्रनाइज़ नहीं करना चाहते हैं, हालांकि, यह जाने का सबसे अच्छा तरीका नहीं है।


0

छवि फ़ाइलों के लिए, findimagedupes का उपयोग करें । यह भी में पैक किया है डेबियन


findimagedupes फ़ोटो या ग्राफिक्स के लिए है, शायद एक प्रारूप से दूसरे प्रारूप में परिवर्तित हो। फ़ोटो (i होम) केवल प्रश्न में उदाहरण है। यह कोई अन्य बड़ी फाइल हो सकती है।
ज़नीक

0

यदि पूरी फ़ाइल एक जैसी हो तो हार्ड लिंक केवल समर्पण करते हैं। यदि शीर्षलेख (EXIF, ID3,…) या मेटाडेटा (स्वामी) भिन्न हैं, तो वे लिंक नहीं किए जाएंगे।

जब आपके पास ब्लॉक डिडुप्लीकेशन सपोर्ट (ZFS, btrfs,…) के साथ फाइल सिस्टम का उपयोग करने का मौका होता है, तो इसके बजाय उसका उपयोग करें। मैं btrfs के ऑफ़लाइन (उर्फ बैच ) डडअप सपोर्ट का बहुत शौकीन हूं , जो हद-स्तर के डिडुप्लीकेशन का समर्थन करता है और लगातार भारी मात्रा में मेमोरी (ZFS ऑनलाइन डेडअप के रूप में) का उपभोग नहीं करता है।

Deduplication में यह भी लाभ है कि फाइलों को उपयोगकर्ता द्वारा अन्य कॉपी नोटिंग के बिना संशोधित किया जा सकता है (जो आपके मामले में लागू नहीं हो सकता है, लेकिन दूसरों में)।

देखें https://btrfs.wiki.kernel.org/index.php/Deduplication एक उत्कृष्ट चर्चा के लिए।

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