छोटा जवाब: बैकअप लिखते समय हर फ़ाइल का हैश दर्ज करें, और बाद में बैकअप पर फिर से जाँच चलाएँ।
अगर हैश अब भी मेल खाते हैं, तो बाइट अब भी वहीं हैं। इसके अलावा कुछ भी यह साबित नहीं करता।
चार चीज़ें गलत होती हैं, और कोई भी खुद की घोषणा नहीं करती:
चारों बाहर से एक जैसे दिखते हैं: ठीक-ठाक नाम और तारीखों वाली फ़ाइलों से भरी एक डायरेक्टरी।
बैकअप लिखते समय दर्ज करें कि आपने क्या लिखा:
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
बाद में पूछें कि क्या बैकअप अब भी उस रिकॉर्ड से मेल खाता है:
shasum -a 256 -c ~/backup.sha256
हर लाइन OK या FAILED लौटाती है। पूरी तरह गायब फ़ाइल को न पढ़ी जा सकने वाली बताया जाता है, और आप यही व्यवहार चाहते हैं: गायब फ़ाइल गड़बड़ी है, सबूत का न होना नहीं।
हैश फ़ाइल बैकअप डिस्क के अलावा कहीं और रखें। जिस चीज़ का रिकॉर्ड है उसी के बगल में रखा रिकॉर्ड उसी के साथ खत्म हो जाता है।
अलग सवाल, और लोग इसी में फँसते हैं। बैकअप की सबसे नई फ़ाइल बताती है कि जॉब आखिरी बार कब सफल हुई:
find /Volumes/Backup -type f -newermt '-7 days' | head
कोई आउटपुट न होने का मतलब है कि एक हफ़्ते से कुछ नहीं लिखा गया। अगर आप Time Machine पर निर्भर हैं, तो सीधे उससे पूछें:
tmutil latestbackup
हैश साबित करते हैं कि बाइट सुरक्षित बचे। वे यह साबित नहीं करते कि आप फ़ाइल वापस निकाल सकते हैं, क्योंकि यह टूल, इंडेक्स, एन्क्रिप्शन की और तीनों को इस्तेमाल करने की आपकी याद पर भी निर्भर है। साल में एक या दो बार, कुछ फ़ाइलें किसी स्क्रैच फ़ोल्डर में रीस्टोर करें और उन्हें खोलें।
ऐसी फ़ाइल चुनें जिसकी आपको सच में कमी खलेगी, कोई टेस्ट दस्तावेज़ नहीं। इस अभ्यास का मकसद यह पता करना है कि आपकी रिकवरी कुंजी उसी Mac में किसी नोट में है जिसका बैकअप हो रहा है, और यह किसी शांत दिन पता चले।
अपने-आप होने वाली जाँच में तीन खूबियाँ हैं जो हाथ वाले तरीके में नहीं: यह चलती है चाहे आपको याद रहे या नहीं, यह हर हिस्सा जाँचती है जिनमें वे भी हैं जिनके बारे में आपने नहीं सोचा, और फ़ेल होते ही बता देती है।
Copy Shelter बैकअप को वापस पढ़ता है और हर हिस्से को उस हैश से जाँचता है जिसके साथ वह स्टोर हुआ था, डिलीट हुए हिस्से को गायब बताता है, और सिर्फ़ उन्हीं कॉपी को गिनता है जिन्हें इसने सच में जाँचा है। यह 7 दिन तक कोई सफल बैकअप न होने पर बोलता भी है, जो ऊपर की चौथी और सबसे आम गड़बड़ी पकड़ता है।
shasum धीमा है?यह हर बाइट पढ़ता है, इसलिए इसमें लगभग उतना ही समय लगता है जितना डेटा कॉपी करने में। यही मकसद है: जो जाँच डेटा नहीं पढ़ती वह उस डिस्क को नहीं पकड़ सकती जो डेटा लौटा नहीं पाती।
हाँ, और कुछ नहीं से बेतरतीब नमूना कहीं बेहतर है। find ... | shuf -n 50 आपको जाँचने के लिए पचास फ़ाइलें देता है, जो खराब हो रही डिस्क या रुकी जॉब जल्दी पकड़ लेगा, हालाँकि कोई एक खराब फ़ाइल नहीं।
स्टोरेज प्रोवाइडर अपनी कॉपी का चेकसम करते हैं, और यह उनकी डिस्क खराब होने से बचाता है। यह आपको ऐसे अपलोड से नहीं बचाता जो कभी पूरा नहीं हुआ, ऐसी फ़ाइल से जो भेजते समय पहले से खराब थी, या रुके हुए सिंक से। जाँच आपकी तरफ़ से होनी चाहिए।
बैकअप को ओवरराइट न करें। पहले अपने Mac से किसी दूसरे स्टोरेज पर दूसरी कॉपी लें, फिर पता करें कि दोनों में से कौन गलत है। जिस बैकअप की जाँच फ़ेल हुई उसे तुरंत फिर से चलाना, उस फ़ेल जाँच का सबूत खुद मिटा देना है।
पूरी जाँच के लिए महीने में एक बार ठीक है, नमूने के लिए हफ़्ते में एक बार, और असली रीस्टोर के लिए साल में एक या दो बार। जो तय समय पर हो, वह हर उस चीज़ से बेहतर है जो आपको याद रखनी पड़े।
संबंधित: 3-2-1 बैकअप नियम, और लोग कहाँ गलती करते हैं।