करप्ट फ़ाइलों के लिए समेकित फ़ोटो लाइब्रेरी की जाँच कैसे करें
समेकित फ़ोटो लाइब्रेरी की जाँच करने के लिए, हर इमेज को ऐसे डिकोडर से स्कैन करें जो इमेज डेटा को पढ़ता हो, विफल होने वाली या चेतावनियों को ट्रिगर करने वाली फ़ाइलों की एक रिपोर्ट सहेजें, फिर कुछ भी बदलने या रीस्टोर करने से पहले उन फ़ाइलों की अलग-अलग जाँच करें। एक त्वरित थंबनेल या फ़ाइल-साइज़ जाँच स्पष्ट समस्याओं का पता लगा सकती है, लेकिन यह स्थापित नहीं कर सकती कि पूरी इमेज पढ़ने योग्य है। यह कार्यप्रवाह ImageMagick के magick identify का उपयोग करता है और स्थानीय या माउंटेड ड्राइव पर संग्रहीत लाइब्रेरी के लिए लक्षित है।
करप्शन की जाँच आपको क्या बता सकती है—और क्या नहीं
हो सकता है कि किसी फ़ाइल का एक्सटेंशन परिचित हो और साइज़ भी ठीक-ठाक लगे, फिर भी उसमें अधूरा (ट्रंकेटेड) या क्षतिग्रस्त इमेज डेटा हो सकता है। इसके विपरीत, एक व्यूअर में खुलने वाली फ़ाइल भी किसी अन्य डिकोडर में चेतावनियाँ दे सकती है या विफल हो सकती है। स्कैन यह रिकॉर्ड करता है कि एक टूल किसी फ़ाइल को कैसे पढ़ता है; यह यह साबित नहीं करता है कि प्रत्येक पिक्सेल दृश्य रूप से सही है या प्रत्येक एप्लिकेशन फ़ाइल की एक जैसी व्याख्या करेगा।
ImageMagick का magick identify इमेज की विशेषताओं की रिपोर्ट करता है और अधूरी या करप्ट फ़ाइलों की रिपोर्ट कर सकता है। एक सार्थक जाँच के लिए, पूर्ण पठन का अनुरोध करने हेतु +ping का उपयोग करें: ImageMagick बताता है कि इसका डिफ़ॉल्ट पिंग मोड केवल बुनियादी पहचान के लिए आवश्यक जानकारी पढ़ता है और हो सकता है कि पूरी इमेज को पढ़ने से बचे। -regard-warnings जोड़ें ताकि चेतावनियाँ कमांड के निकास स्थिति (एग्जिट स्टेटस) को प्रभावित करें। ImageMagick Identify documentation, ImageMagick Basic Usage
परिणाम को प्राथमिकता-निर्धारण (ट्राएज) के रूप में लें। रिपोर्ट की गई चेतावनी समीक्षा की हकदार है; यह अपने आप में इस बात का प्रमाण नहीं है कि फ़ोटो अनुपयोगी है। एक साफ़ (क्लीन) स्कैन का अर्थ है कि यह डिकोडर बिना किसी समस्या की रिपोर्ट किए पूरा हो गया, न कि यह कि तस्वीर दिखने में सही है या फ़ाइल-फ़ॉर्मैट-विशिष्ट सभी विवरण मान्य हैं।
स्कैन करने से पहले लाइब्रेरी तैयार करें
एक स्थिर कॉपी या बैकअप के साथ शुरुआत करें। किसी फ़ाइल की एकमात्र प्रतिलिपि पर मरम्मत (रिपेयर) या रूपांतरण न चलाएँ: पुनर्प्राप्ति के कुछ प्रयास डेटा को बदल सकते हैं, जबकि बाधित राइट प्रक्रिया किसी ख़राब फ़ाइल को और बदतर बना सकती है। यदि समेकित लाइब्रेरी कई ड्राइव या फ़ोल्डर में फैली हुई है, तो उन सभी रूट डायरेक्टरी को नोट कर लें जिन्हें आप शामिल करना चाहते हैं।
उस सॉफ़्टवेयर को बंद कर दें जो वर्तमान में संग्रह को सक्रिय रूप से आयात, संपादित या सिंक्रनाइज़ कर रहा है। इससे स्कैन किए जाने के दौरान फ़ाइल के बदलने की संभावना कम हो जाती है। पुष्टि करें कि माउंटेड ड्राइव उपलब्ध हैं और स्कैन खाता उन्हें पढ़ सकता है। अनुमति त्रुटि या डिस्कनेक्ट किए गए वॉल्यूम को एक अनस्कैन किए गए क्षेत्र के रूप में माना जाना चाहिए, न कि एक क्लीन परिणाम के रूप में।
अपने ऑपरेटिंग सिस्टम के लिए इसके आधिकारिक वितरण से ImageMagick इंस्टॉल करें, फिर पुष्टि करें कि टर्मिनल में magick कमांड उपलब्ध है। पहले कुछ ज्ञात इमेज पर इसका परीक्षण करें। ImageMagick का कमांड सिंटैक्स संस्करण 7 के लिए है; पुराने इंस्टॉलेशन अलग-अलग कमांड नामों का उपयोग कर सकते हैं। अनुपलब्ध-कमांड या असमर्थित-फ़ॉर्मैट त्रुटि को इस प्रमाण के रूप में न लें कि फ़ाइल करप्ट है।
पूर्ण स्कैन चलाएँ और रिपोर्ट कैप्चर करें
macOS या Linux पर, Bash लाइब्रेरी को रिकर्सिव रूप से स्कैन कर सकता है और विफलताओं तथा चेतावनियों को एक अलग लॉग में लिख सकता है। /path/to/photo-library और रिपोर्ट पाथ को अपने वास्तविक स्थानों से बदलें। रिपोर्ट को स्कैन की जा रही लाइब्रेरी से बाहर रखें ताकि स्कैन इसे इमेज न समझ ले।
: > "$HOME/photo-scan-errors.log"
find "/path/to/photo-library" -type f -print0 |
while IFS= read -r -d '' file; do
if ! magick identify +ping -regard-warnings "$file" >/dev/null 2>>"$HOME/photo-scan-errors.log"; then
printf '%s\n' "$file"
fi
done
टर्मिनल उन फ़ाइलों के पाथ प्रिंट करता है जिनकी जाँच विफल रही; लॉग ImageMagick से डायग्नोस्टिक संदेशों को कैप्चर करता है। लूप में हर फ़ाइल शामिल है, इसलिए गैर-इमेज फ़ाइलों को भी अज्ञात फ़ॉर्मैट के रूप में रिपोर्ट किया जा सकता है। यह सामान्य है यदि लाइब्रेरी में साइडकार फ़ाइलें, दस्तावेज़ या अन्य गैर-इमेज सामग्री शामिल है। मिश्रित संग्रह के लिए, "अज्ञात फ़ॉर्मैट" को डिकोडर त्रुटि से अलग समझें और यदि आवश्यक हो तो स्कैन को केवल ज्ञात इमेज एक्सटेंशन तक सीमित करें। एक्सटेंशन फ़िल्टरिंग उन इमेज को छोड़ सकती है जिनके नामों में असामान्य या कोई एक्सटेंशन नहीं होता है।
यदि लॉग खाली है और कोई पाथ प्रिंट नहीं हुआ, तो रन ने इस डिकोडर की जाँच के तहत कोई डायग्नोस्टिक्स और कोई विफलता उत्पन्न नहीं की। पुष्टि करें कि रूट पाथ सही था और स्कैन समाप्त हो गया; टाइपो, दुर्गम ड्राइव, या बाधित कमांड के कारण खाली रिपोर्ट को पास नहीं माना जा सकता। बहुत बड़ी लाइब्रेरी के लिए, एक बार में एक फ़ोल्डर या ड्राइव चलाएँ और प्रत्येक रिपोर्ट को लेबल करें ताकि आप देख सकें कि वास्तव में क्या कवर किया गया था।
फ़्लैग की गई प्रत्येक फ़ाइल की सुरक्षित रूप से समीक्षा करें
मूल फ़ाइल का पता लगाने के लिए प्रिंट किए गए पाथ का उपयोग करें, फिर स्पष्ट डायग्नोस्टिक प्राप्त करने के लिए केवल उसी फ़ाइल पर जाँच चलाएँ: magick identify +ping -regard-warnings "/full/path/to/file.jpg"। संदेश को रिकॉर्ड करें और तुलना करें कि कोई दूसरा व्यूअर या एडिटर क्या करता है। जाँचें कि क्या फ़ाइल पूरी तरह से प्रदर्शित होती है, केवल आंशिक रूप से, या बिल्कुल नहीं। ध्यान रखें कि मुख्य इमेज डेटा क्षतिग्रस्त होने पर भी कोई एप्लिकेशन एम्बेडेड पूर्वावलोकन (प्रिव्यू) दिखा सकता है।
अपने नोट्स में तीन मामलों को अलग करें: एक फ़ाइल जो डिकोड करने में विफल रहती है, एक जो चेतावनी के साथ डिकोड होती है, और एक जो डिकोड तो होती है लेकिन अनपेक्षित रूप से अधूरी या दिखने में क्षतिग्रस्त लगती है। यह प्रत्येक चेतावनी को एक जैसा मानने की तुलना में फ़ॉलो-अप को अधिक उपयोगी बनाता है। GIF या TIFF जैसे मल्टी-फ़्रेम फ़ॉर्मैट में एक फ़ाइल में कई इमेज हो सकती हैं; यदि समस्या केवल पहली इमेज के बाद दिखाई देती है, तो प्रासंगिक फ़्रेम या पृष्ठों का निरीक्षण करें।
स्रोत को अधिलेखित (ओवरराइट) किए बिना पुनर्प्राप्ति पथ चुनें
यदि कोई अन्य कॉपी मौजूद है, तो मरम्मत का प्रयास करने से पहले उसकी तुलना करें। एक फ़ाइल हैश बता सकता है कि क्या दो प्रतियों में बिल्कुल समान सामग्री है: Microsoft दस्तावेज़ बताते हैं कि मेल खाने वाले हैश समान फ़ाइल सामग्री की पहचान करते हैं, जबकि अलग-अलग नाम या एक्सटेंशन हैश को प्रभावित नहीं करते हैं। उदाहरण के लिए, PowerShell का Get-FileHash डिफ़ॉल्ट रूप से SHA-256 का उपयोग करता है। Microsoft Learn: Get-FileHash
मेल खाने वाले हैश दिखाते हैं कि दो प्रतियाँ बाइट-दर-बाइट समान हैं; वे यह स्थापित नहीं करते कि कोई भी कॉपी सही है। यदि दोनों प्रतियाँ एक ही तरह से विफल होती हैं, तो किसी अन्य बैकअप या मूल स्रोत की तलाश करें। यदि एक पास हो जाती है और एक विफल हो जाती है, तो काम करने वाली कॉपी को सुरक्षित रखें और क्षतिग्रस्त कॉपी को केवल यह पुष्टि करने के बाद बदलें कि फ़ाइलें वही अभीष्ट फ़ोटो हैं। प्रतिस्थापन सत्यापित होने तक मूल फ़्लैग की गई फ़ाइल को बनाए रखें।
यदि कोई अच्छी कॉपी उपलब्ध नहीं है, तो फ़ॉर्मैट-विशिष्ट रिकवरी टूल आज़माने से पहले फ़्लैग की गई फ़ाइल की एक अलग डुप्लिकेट बनाएँ। किसी भी पुनर्प्राप्त आउटपुट को शुरू से दोबारा जाँचें, इसे एक व्यूअर में खोलें, और आयामों (डायमेंशन) या अन्य अपेक्षित विशेषताओं की तुलना करें। ExifTool नोट करता है कि इसे इमेज वैलिडेटर के रूप में डिज़ाइन नहीं किया गया है; इसके -validate चेक मुख्य रूप से JPEG और TIFF के लिए अतिरिक्त जाँच प्रदान करते हैं, इसलिए इसका उपयोग सार्वभौमिक पास/फ़ेल परीक्षण के बजाय पूरक डायग्नोस्टिक के रूप में करें। ExifTool FAQ: Can ExifTool be used as an image validator?
कवरेज की पुष्टि करें और एक उपयोगी रिकॉर्ड रखें
ऑडिट को पूर्ण मानने से पहले, सत्यापित करें कि प्रत्येक लक्षित फ़ोल्डर शामिल था, स्कैन अंत तक पहुँचा, और रिपोर्ट सहेजी गई थी। उन संदेशों की समीक्षा करें जो अपठनीय ड्राइव, अनुमति समस्या, असमर्थित फ़ॉर्मैट, या अनुपलब्ध डिकोडर को दर्शाते हैं, उन्हें पुष्ट इमेज-रीड विफलताओं से अलग रखें। रीस्टोर की गई फ़ाइलों पर जाँच दोबारा चलाएँ और इमेज व्यूअर में संग्रह के कुछ नमूनों की जाँच करें, जिसमें फ़्लैग किए गए आइटम और मल्टी-फ़्रेम फ़ाइलों पर विशेष ध्यान दें।
स्कैन की तारीख, ImageMagick संस्करण, स्कैन किए गए फ़ोल्डर और विफलता लॉग को अपने रखरखाव नोट्स के साथ रखें। वह रिकॉर्ड भविष्य के स्कैन को तुलनीय बनाता है और पुरानी चेतावनी को नई पठन समस्या से अलग करने में मदद करता है। एक सावधानीपूर्वक जाँच में पूर्ण डिकोडर पठन, लक्षित दृश्य समीक्षा, और किसी भी प्रतिस्थापन प्रति का सत्यापन शामिल होता है; कोई भी एकल कमांड आपके लिए ये निर्णय नहीं ले सकता है।
