Skip to content
VDS · बैकअप और डिस्क

डेटा गायब हो गया: स्टेप-बाय-स्टेप क्या करें

जब फ़ाइलें या डेटाबेस गायब हो जाएँ तो प्रक्रिया: अपने पहले कदम से चीज़ें और खराब न करें, बचे-खुचे हिस्से कहाँ खोजें, और क्या रिकवर हो सकता है और क्या नहीं।

23 अगस्त 2026 को अपडेट किया गया

डेटा लॉस के बाद पहला कदम बाकी सब चीज़ों से ज़्यादा मायने रखता है। नीचे एक ऐसी प्रक्रिया दी गई है जिससे आपके रिकवरी के मौके खत्म नहीं होंगे।

तुरंत: डिस्क पर लिखना बंद करें

डिलीट की गई फ़ाइल डिस्क पर तब तक रहती है जब तक उसकी जगह कोई नई चीज़ न ले ले। हर लिखावट — कोई पैकेज इंस्टॉलेशन, चलती हुई वेबसाइट, बढ़ता हुआ लॉग — आपके मौके कम करती है।

  • जो भी लिख रहा है उसे रोकें: वेब सर्वर, डेटाबेस, क्यू वर्कर।
  • रिकवरी सॉफ़्टवेयर उसी डिस्क पर इंस्टॉल न करें।
  • सिस्टम दोबारा इंस्टॉल न करें: रीइंस्टॉलेशन डिस्क को पूरी तरह और अपरिवर्तनीय रूप से नष्ट कर देता है।

अगर डेटा अहम है और आपके पास बैकअप नहीं है, तो मशीन बंद करें और कोई भी प्रयोग करने से पहले सपोर्ट से संपर्क करें।

पता करें कि असल में क्या हुआ

संकेतयह क्या हैकहाँ जाएँ
किसी कमांड से डिलीट हुई फ़ाइलेंसामान्य डिलीशननीचे दिया गया सेक्शन
“No space left on device”जगह खत्म, ऐप्लिकेशन लिख नहीं सकाजगह खत्म
डेटाबेस नहीं खुलता, फ़ाइलें मौजूद हैंडेटाबेस करप्शनडेटाबेस बैकअप
सिस्टम बूट नहीं होताबूटलोडर या फ़ाइल सिस्टमरेस्क्यू डिस्क
अनजानी फ़ाइलें, अपरिचित प्रोसेससंभावित कॉम्प्रोमाइज़कॉम्प्रोमाइज़ के संकेत

अगर आपके पास बैकअप हैं

यह सबसे तेज़ रास्ता है और लगभग हमेशा ही एकमात्र सफल रास्ता। अपनी ही स्कीम से रीस्टोर करें — rsync या restic — और यह न देखें कि अनपैकिंग सफल हुई या नहीं, बल्कि कंटेंट देखें: साइज़, लाइनों की संख्या, डेटाबेस खुलता है या नहीं।

restic -r /path/to/repo snapshots
restic -r /path/to/repo restore latest --target /restore

पहले किसी अलग डायरेक्टरी में रीस्टोर करें, चालू वाली के ऊपर नहीं: बैकअप भी अधूरा हो सकता है, और उससे बचे-खुचे डेटा को ओवरराइट करना दोनों विकल्प खोने का तरीका है।

अगर आपके पास बैकअप नहीं हैं

हम आपकी मशीन के ऑटोमैटिक बैकअप नहीं रखते और हमारे पास स्नैपशॉट नहीं होते। वर्चुअल मशीन की डिस्क आपकी डिस्क है: उस पर जो हुआ, हुआ। इसीलिए बैकअप पहले ही दिन सेट किए जाते हैं — क्या-क्या बैकअप करें।

आप खुद और क्या आज़मा सकते हैं:

  • फ़ाइल अभी भी किसी प्रोसेस द्वारा खुली है। अगर कोई प्रोग्राम किसी डिलीट की गई फ़ाइल को पकड़े हुए है, तो वह /proc के ज़रिए पहुँच में रहती है:
    lsof +L1
    cp /proc/<pid>/fd/<n> /root/recovered-file
    
    यह तभी काम करता है जब तक प्रोसेस ज़िंदा है — उसे रीस्टार्ट न करें।
  • डेटाबेस लॉग में डेटा। PostgreSQL और MySQL में write-ahead log होता है, जिससे कोई विशेषज्ञ क्रैश से पहले की स्थिति फिर से बना सकता है। डेटाबेस को बिना सोचे-समझे repair मोड में न चलाएँ — इसी तरह लॉग भी खो जाता है।
  • रेस्क्यू डिस्क में बूट करें और extundelete या photorec जैसे टूल आज़माने से पहले डिस्क की इमेज किसी दूसरी मशीन पर बनाएँ। आपको इमेज के साथ काम करना है, लाइव डिस्क के साथ नहीं।

क्या न करें

  • यह तय करने से पहले कि आपको डेटा चाहिए या नहीं, सिस्टम “नई शुरुआत के लिए” दोबारा इंस्टॉल करना।
  • ऐसे रिकवरी प्रोग्राम चलाना जो अपना आउटपुट उसी डिस्क पर लिखते हैं।
  • बिना इमेज के लाइव डिस्क पर fsck से फ़ाइल सिस्टम repair करना जो अपने-आप “yes” का जवाब देता हो।
  • एक हफ़्ता इंतज़ार करके फिर रिकवरी माँगना: मशीन जितनी देर चलती है, उतना कम बचता है।

यह दोबारा न हो, इसके लिए

यही बातचीत हमेशा एक ही तरह खत्म होती है: या तो आपके पास बैकअप हैं या नहीं। उन्हें आज ही सेट करें और हर तीन महीने में एक बार रीस्टोर ड्रिल से टेस्ट करें — जो बैकअप कभी रीस्टोर नहीं किया गया, वह बैकअप नहीं गिना जाता।