छोटा जवाब: बैकअप में सबसे नई फ़ाइल की तारीख जाँचें, फ़ोल्डर की तारीख नहीं। फ़ोल्डर का टाइमस्टैम्प ऐसी वजहों से बदलता है जिनका बैकअप पूरा होने से कोई लेना देना नहीं।
अगर उसके अंदर सबसे नई फ़ाइल कल से पुरानी है, तो बैकअप नहीं चल रहा, टूल चाहे कुछ भी बताए।
ज़्यादातर बैकअप सलाह गलत आपदा के बारे में होती है। वह किसी नाटकीय आपदा की कल्पना करती है: डिस्क मर जाती है, लैपटॉप चोरी हो जाता है, बाढ़ आ जाती है। ये कम होती हैं और हर कोई इन्हें समझता है।
आम वजह उबाऊ है। किसी और चीज़ के लिए जगह बनाने को ड्राइव निकाली गई और कभी वापस नहीं लगी। बिजली जाने के बाद NAS रीबूट हुआ और शेयर फिर से माउंट नहीं हुआ। जॉब के समय लैपटॉप बंद था, हर रात, एक महीने तक। कोई स्क्रिप्ट ऐसी गलती के साथ बंद हुई जिसे किसी ने नहीं पढ़ा, क्योंकि साल भर से ठीक चल रहा लॉग कोई नहीं पढ़ता।
इनमें से हर एक में, कुछ टूटा नहीं है। जहाँ कोई इंसान देखता है वहाँ कोई गलती नहीं दिखती। बैकअप फ़ोल्डर अब भी वहीं है, अब भी फ़ाइलों से भरा, अब भी सही साइज़ का। बदली है तो बस यह बात कि वह नया होना बंद हो गया, और सिस्टम में किसी चीज़ को यह बताने लायक नहीं लगता।
इसे अपने बैकअप डेस्टिनेशन की ओर पॉइंट करें। यह उसके अंदर कहीं भी सबसे हाल में बदली गई फ़ाइल ढूँढकर उसकी तारीख प्रिंट करता है:
find /Volumes/Backup -type f -print0 | xargs -0 stat -f '%m %N' | sort -rn | head -5
पहला कॉलम Unix टाइमस्टैम्प है। इसे सीधे पढ़ने के लिए:
find /Volumes/Backup -type f -newermt '-2 days' | head
अगर इससे कुछ प्रिंट नहीं होता, तो दो दिन में कुछ नहीं लिखा गया। यही जवाब है, और यह किसी भी स्टेटस स्क्रीन से ज़्यादा भरोसेमंद है, क्योंकि यह खुद फ़ाइलों की खासियत है।
खास तौर पर Time Machine के लिए:
tmutil latestbackup
जो सबसे नए स्नैपशॉट का पाथ प्रिंट करता है, नाम में उसकी तारीख के साथ, या कोई न हो तो गलती दिखाता है।
सहज रूप से लोग Finder में बैकअप फ़ोल्डर देखकर संशोधित होने की तारीख वाला कॉलम पढ़ते हैं। वह संख्या वह नहीं है जो आप समझते हैं।
किसी डायरेक्टरी का संशोधन समय तब बदलता है जब उसमें कुछ जोड़ा या हटाया जाता है, तब नहीं जब उसके अंदर किसी फ़ाइल की सामग्री बदलती है। Spotlight इंडेक्सिंग, .DS_Store का दोबारा लिखा जाना, एंटीवायरस स्कैनर, अपने मेटाडेटा को छूता क्लाउड क्लाइंट: इनमें से कोई भी पुराने बैकअप फ़ोल्डर को ऐसा दिखा सकता है जैसे उसमें आज सुबह लिखा गया हो।
अंदर की फ़ाइलें ही रिकॉर्ड हैं। फ़ोल्डर नहीं।
StartCalendarInterval वाला launchd जॉब Mac के स्लीप में रहते नहीं चलता, और बाद में भी तब तक पूरा नहीं करता जब तक आपने न कहा हो। आधी रात को बंद किए लैपटॉप का आधी रात वाला बैकअप एक बार भी नहीं हुआ।launchd जॉब अपनी शिकायत एक फ़ाइल में लिखता है, और वह फ़ाइल ही अकेली चीज़ है जिसे पता है।अगर आप यह खुद कर रहे हैं, तो इसका हल dead man's switch है: कुछ जो तब शिकायत करे जब बैकअप न हुआ हो। यह किसी बैकअप के फ़ेल होने से अलग घटना है, और सिर्फ़ पहली वाली ऊपर के मामलों को कवर करती है।
सबसे आसान रूप एक जॉब है जो सबसे नई फ़ाइल की उम्र जाँचता है और बहुत पुरानी होने पर चिल्लाता है:
if [ -z "$(find /Volumes/Backup -type f -newermt '-2 days' 2>/dev/null | head -1)" ]; then
osascript -e 'display notification "No backup in two days" with title "Backup"'
fi
इसे बैकअप से अलग, अपने शेड्यूल पर चलाएँ, ताकि टूटा हुआ बैकअप शेड्यूल उस पर नज़र रखने वाली चीज़ को भी न तोड़ दे। आखिरी बात में ही लोग गलती करते हैं: बैकअप जॉब के अंदर चलने वाली जाँच यह नहीं बता सकती कि बैकअप जॉब चला ही नहीं।
आप असल में यह चाहते हैं कि गैरमौजूदगी ही अलार्म हो, और टूल उस चीज़ का नाम ले जो गायब है।
Copy Shelter इसी पर बना है। यह ट्रैक करता है कि हर डेस्टिनेशन पर आखिरी बार कब लिखा गया और कब जाँचा गया, और सफल बैकअप के बिना सात दिन बीतने पर बोल पड़ता है। यह लोकेशन का नाम लेता है, तो आपको "दराज़ वाली ड्राइव 14 अगस्त से नहीं दिखी" जैसा संदेश मिलता है। और क्योंकि यह बैकअप को वापस पढ़कर हर हिस्से को उस हैश से जाँचता है जिसके तहत वह सहेजा गया था, चल रहा पर न पढ़े जा सकने वाला आउटपुट बनाने वाला बैकअप भी पकड़ा जाता है, जो इस पेज से एक कदम आगे की खराबी है।
यह जो स्कोर दिखाता है वह सिर्फ़ हाल में जाँची गई चीज़ें गिनता है। जो बैकअप नहीं चला वह आपके पास मौजूद बैकअप नहीं है, और संख्या यही बताती है।
आपको यह नहीं करना चाहिए। इस पेज का मकसद यही है: हाथ से की जाने वाली जाँच वह जाँच है जिसे आप करना बंद कर देंगे, आमतौर पर सेट करने के लगभग तीन हफ़्ते बाद। गैरमौजूदगी का अलार्म ऑटोमेट करें, और हाथ से जाँच तब करें जब वह आपको कहे।
यह मदद करता है, और इसकी सीमा है। Time Machine दस दिन तक बैकअप पूरा न होने के बाद चेतावनी देता है, और वह सूचना हटाना आसान है और उस पर ध्यान देना बंद करना भी आसान। यह यह भी नहीं बता सकता कि जो बैकअप उसने पूरा किया वह पढ़ा नहीं जा सकता, क्योंकि लोकल डिस्क पर यह जाँच नहीं करता।
यह अनुमतियों वाला मामला है, और यह ज़्यादा बुरा है क्योंकि हर स्टेटस इंडिकेटर सफलता दिखाता है। डेस्टिनेशन पर फ़ाइलों की संख्या की तुलना स्रोत की संख्या से करें। अगर जिस बैकअप में दसियों हज़ार फ़ाइलें होनी चाहिए उसमें चालीस हैं, तो macOS फ़ोल्डरों की पहुँच मना कर रहा है और जॉब को बताया नहीं जा रहा।
अलग तरह से, और हाँ। सिंक क्लाइंट साइन आउट हो जाते हैं, कोटा तक पहुँच जाते हैं, और खुद को रोक देते हैं, और जो बैज यह बताता वह उस मेन्यू बार का एक छोटा आइकन है जिसे आप देख नहीं रहे। फ़ाइलें भी ठीक वहीं रहती हैं जहाँ थीं, इसलिए कुछ गलत नहीं दिखता।
काफ़ी हद तक, हाँ। अलग अलग वजहों से फ़ेल होने वाले दो डेस्टिनेशन, अलग अलग जाँचे गए, एक पर कितनी भी निगरानी से ज़्यादा कीमती हैं। निगरानी बताती है कि कॉपी चली गई, दूसरी कॉपी का मतलब है कि इससे फ़र्क नहीं पड़ा। 3-2-1 नियम देखें।
संबंधित: यह जाँचना कि बैकअप सच में पढ़ा जा सकता है, और 3-2-1 नियम।