सोमवार की सुबह की गलती: sudo rm -rf --no-preserve-root /


146

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


यहाँ एक मनोरंजक त्रासदी है। आज सुबह मैं अपने उत्पादन सर्वर पर थोड़ा सा रखरखाव कर रहा था, जब मैंने गलती से निम्नलिखित आदेश को निष्पादित कर दिया था:

sudo rm -rf --no-preserve-root /mnt/hetznerbackup /

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

rm: cannot remove `/mnt/hetznerbackup': Is a directory
rm: cannot remove `/sys/fs/ecryptfs/version': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/inode_readahead_blks': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/mb_max_to_scan': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/delayed_allocation_blocks': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/max_writeback_mb_bump': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/mb_stream_req': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/mb_min_to_scan': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/mb_stats': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/trigger_fs_error': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/session_write_kbytes': Operation not permitted
rm: cannot remove `/sys/fs/ext4/md2/lifetime_write_kbytes': Operation not permitted
# and so on..

मैंने कार्य रोक दिया और राहत मिली जब मुझे पता चला कि उत्पादन सेवा अभी भी चल रही थी। अफसोस की बात है कि सर्वर अब SSH के माध्यम से किसी भी उपयोगकर्ता के लिए मेरी सार्वजनिक कुंजी या पासवर्ड स्वीकार नहीं करता है।

आप यहां से कैसे आगे बढ़ेंगे? मैं उस एसएसएच-एक्सेस को वापस पाने के लिए कांटेदार तार के एक समुद्र को तैरूंगा।

सर्वर Ubuntu-12.04 चला रहा है और Hetzner पर होस्ट किया गया है।


48
बैकअप से पुनर्स्थापित करें। ईमानदारी से, यह उन में से एक है, जो आसान नहीं है।
6

310
कैसे आप भी --no-preserve-rootगलती से टाइप करते हैं ?! : -ओ
थटग्रेयग्य

144
Greame, चाबियाँ एक दूसरे के ठीक बगल में हैं।
मध्याह्न

38
मंगलवार का काम: नई नौकरी की तलाश करें;) इसे एक सबक के रूप में लें कि बैकअप की आवश्यकता क्यों है।
टॉमटॉम

43
यह यकीन मुझे ट्रोल करने जैसा लगता है। आप गलती से टाइप नहीं कर सकते हैं - मैं-वास्तव में मतलब-डिलीट-माय-पूरी-रूट।
Psusi

जवाबों:


95

बचावकर्ता द्वारा प्रदान की गई बचाव प्रणाली में बूट करें और जांचें कि आपको क्या नुकसान हुआ है।
किसी भी फाइल को एक सुरक्षित स्थान पर स्थानांतरित करें और सर्वर को बाद में फिर से भेजें।

मुझे डर है कि आपके मामले में सबसे अच्छा समाधान है।


102
उज्ज्वल पक्ष को देखो, कम से कम उसे दिल से परेशानी नहीं है!
20

222

तथ्य है? इस बिंदु पर, इसके लिए कोई सरल / आसान स्वचालित सुधार नहीं है। डेटा रिकवरी एक विज्ञान है और यहां तक ​​कि बुनियादी, सामान्य उपकरणों के लिए किसी को बैठना और डेटा सुनिश्चित करना है। यदि आप बड़े पैमाने पर डाउनटाइम के बिना इससे उबरने की उम्मीद कर रहे हैं, तो आप निराश होने वाले हैं।

मैं टेस्टडिस्क या कुछ फाइल सिस्टम विशिष्ट रिकवरी टूल का उपयोग करने का सुझाव दूंगा । एक प्रणाली का प्रयास करें, देखें कि क्या यह काम करता है, और इसी तरह। प्रक्रिया को स्वचालित करने का कोई वास्तविक तरीका नहीं है, लेकिन आप शायद इसे ध्यान से बैचों में कर सकते हैं ।

उस ने कहा, सवालों और टिप्पणियों में कुछ बहुत ही डरावनी चीजें हैं जो कार्रवाई की रिपोर्ट के बाद आपके लिए होनी चाहिए।

सबसे पहले, आपने पहले चेक किए बिना हर जगह कमांड को चलाया। एक बॉक्स पर एक कमांड चलाएँ। फिर कुछ, फिर और। मूल रूप से अगर कुछ गलत हो जाता है, तो इसका बेहतर होना आपके सभी सिस्टम के बजाय कुछ को प्रभावित करता है ।

दूसरे

@ सर्वर पर रिमोट ड्राइव को बढ़ाए बिना बैकअप कैसे करें?

मुझे डराते हो। फ़ाइल स्तर एक तरह से बैकअप एक हल समस्या है । रुपीसंक का उपयोग अनुमतियों को संरक्षित करने और फ़ाइलों को एक बैकअप साइट पर एक तरह से कॉपी करने के लिए किया जा सकता है । गलती से कुछ? स्थापना रद्द करें (अधिमानतः स्वचालित रूप से) rsync वापस, और चीजें काम करती हैं। भविष्य में, आप फ़ाइल सिस्टम स्तर स्नैपशॉट का उपयोग btrfs या zfs स्नैपशॉट के साथ कर सकते हैं और सिस्टम स्तर बैकअप के लिए शिपिंग कर सकते हैं। मैं वास्तव में आवेदन सर्वर, डेटाबेस और स्टोरेज को अलग करने के साथ खिलौना दूंगा और कम से कम विशेषाधिकार के सिद्धांत को पेश करूंगा ताकि आप किसी चीज़ के जोखिम को अलग कर सकें।

मुझे पता है कि मैं कुछ भी कर सकता हूं। मुझे अब सोचने की जरूरत है कि मैं अपनी सुरक्षा कैसे करूं

कुछ होने के बाद इस पर विचार करने का सबसे बुरा समय है।

क्या हम इससे सीख सकते हैं?

  1. बैकअप डेटा को बचाते हैं। संभवतः करियर।
  2. यदि आपके पास एक उपकरण है और अगर वह क्या कर सकता है, तो यह खतरनाक नहीं है। एक जेडी एक लाइटबसर के साथ आश्चर्यजनक चीजें कर सकता है। एक छोटी सी चिराग़ के साथ रोशनदान ... गन्दा हो जाता।
  3. कभी भी एक साथ सभी जगह कमांड न चलाएं। परीक्षण और उत्पादन मशीनों को अलग करें, और अधिमानतः उत्पादन मशीनों को चरणों में करें। 100 या 1000 के बजाय 1 या 10 मशीनों को ठीक करना बेहतर है।

  4. डबल और ट्रिपल चेक कमांड। किसी सहकर्मी को डबल चेक करने के लिए कहने में कोई शर्म नहीं है "अरे, मैं ड्राइव करने वाला हूं, क्या आप इस बात की जांच कर सकते हैं कि मैं ड्राइव को खत्म नहीं करता?"। एक रैपर भी मदद कर सकता है, लेकिन आँखों के कम थके हुए सेट को कुछ भी नहीं धड़कता है।

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


9
@MarcoMarsala यदि आपने rsync का उपयोग करने से पहले कुछ भी माउंट किया है, तो आप इसे सही तरीके से नहीं कर रहे थे। आपको ss पर rsync का उपयोग करना चाहिए।
माइकल हैम्पटन

67
मैं इस उत्कृष्ट उत्तर को जोड़ूंगा: कंप्यूटर से दूर। जब तक आप शांत नहीं हो जाते तब तक कुछ भी ठीक करने की कोशिश न करें। आप पहले से ही कुछ गंभीर डाउनटाइम को देख रहे हैं; चीजों को सोचने के लिए समय निकालने के बजाय अपने सिस्टम को और अधिक बर्बाद करने के बजाय (जैसा कि ddऊपर के मुद्दे में है) इसे और बुरा नहीं बनाया जा सकता है।
जेनी डी

22
किसी भी विचार क्यों कमान वास्तव में भाग गया? यदि $fooऔर $barदोनों अपरिभाषित थे, rm -rf /के साथ बाहर errored जाना चाहिए था --no-preserve-rootसंदेश। एक ही तरीका है जिसके बारे में मैं सोच सकता हूं कि यह वास्तव में एक CentOS7 मशीन पर काम किया होगा यदि इसका $barमूल्यांकन किया जाता है *, तो जो चलाया गया था rm -rf /*
टेराडॉन

9
मुझे "कुछ गलती से?" इसका मतलब यह होना चाहिए कि "हटा दिया गया" शब्द गलती से "हटा दिया गया" या "गिरा दिया गया" था।
सेह

20
@MarcoMarsala अच्छी तरह से कम से कम आप अब मशहूर रहे independent.co.uk/life-style/gadgets-and-tech/news/...
मार्टिन स्मिथ

92

जब आप rm -rf --no-preserve-rootइसके साथ सामान को हटाते हैं , तो इसकी उचाई को ठीक करना असंभव है। यह बहुत महत्वपूर्ण है कि आपने सभी महत्वपूर्ण फ़ाइलों को खो दिया है।

जैसा कि @faker ने अपने उत्तर में कहा, कार्रवाई का सबसे अच्छा तरीका फाइलों को सुरक्षित स्थान पर स्थानांतरित करना और सर्वर को बाद में फिर से भेजना है

भविष्य में इसी तरह की स्थितियों से बचने के लिए, मैं आपको सुझाव दूंगा:

  • साप्ताहिक रूप से या कम से कम पाक्षिक रूप से बैकअप लें । यह प्रभावित सेवा को कम से कम संभव MTTR के साथ वापस पाने में आपकी मदद करेगा।

  • जब जरूरत न हो तो जड़ के रूप में काम न करें । और कुछ भी करने से पहले हमेशा दो बार सोचें। मेरा सुझाव है कि आप सुरक्षित-आरएम भी स्थापित करें ।

  • उस विकल्प को टाइप न करें, जिसे आप उस मामले के लिए , जैसे --no-preserve-rootया --permission-to-kill-kittens-explicitly-granted, के लिए आमंत्रित करने का इरादा नहीं करते हैं


18
इसी तरह, जब तक आप वास्तव में यह नहीं करते, तब तक --please-destroy-my-driveपैरामीटर न जोड़ें hdparm
मिकीबी

3
मैं जोड़ना चाहूंगा; "रूट के रूप में काम करते समय अपने तर्कों (और विकल्पों) की जांच करें", "अपने CurrentWorkingDirectory (rm -rf * की तरह कुछ करने से पहले) की जाँच करें", और "कमांडों के लिए पूर्ण-पथ का उपयोग करें ($ATH पर रिले न करें)।
बार्ड कोपरपुड

47

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

मैं दृढ़ता से Testdisk की सिफारिश करता हूं, कुछ मूल आदेशों के साथ आप अपने डेटा को पुनर्प्राप्त कर सकते हैं यदि आपने इसे अधिलेखित नहीं किया था।


8
मैं निश्चित रूप से यदि संभव हो तो स्टोरेज को ऑफलाइन भेजने की सिफारिश करेगा और यदि आप कर सकते हैं तो 'रीड ओनली' के रूप में फिर से माउंट करें। चाहे एक liveisk या किसी अन्य सर्वर उदाहरण के साथ।
मिस्टन 100100

2
मैं मूल डिस्क की dd बिटकॉपी को केवल सुरक्षित होने के लिए मूल डिस्क के रीड-ओनली माउंट से करने पर विचार करूंगा।
जिम

3
«ये उपकरण फ़ाइल नाम और पथ को पुनर्प्राप्त नहीं करेंगे» हाँ, वे करते हैं। 3 उल्लिखित उपकरणों में से केवल एक (Photorec) नक्काशी करता है।
एंड्रिया लज्जाज़ारो

34

इस तरह की समस्या को ठीक करने का सबसे अच्छा तरीका यह है कि इसे पहले स्थान पर न रखें।

तर्क सूची में एक स्लैश वाले "rm -rf" कमांड को मैन्युअल रूप से दर्ज न करें। (इस तरह की कमांड को शेल स्क्रिप्ट में वास्तव में अच्छी मान्यता / पवित्रता के साथ रखना आपको कुछ बेवकूफ बनाने से बचाने के लिए अलग है।)

बस यह मत करो।
कभी। अगर आपको लगता है कि आपको इसे करने की आवश्यकता है, तो आप बहुत मुश्किल नहीं सोच रहे हैं।

इसके बजाय, अपनी कार्यशील निर्देशिका को उस निर्देशिका के माता-पिता में बदल दें, जहाँ से आप निष्कासन शुरू करने का इरादा रखते हैं, ताकि rm कमांड के लक्ष्य को स्लैश की आवश्यकता न हो:

सीडी / एमटीटी

सूदो आरएम -आरएफ हेत्ज़नेरबैकअप


31
मैं हमेशा -rf को तर्क सूची के अंत में रखता हूं, इसलिए rm /bla/foo/bar -rf। कम से कम उस तरह से मैं बहुत परेशानी में नहीं हूं जब मैं rm /भाग टाइप करने के बाद आकस्मिक रूप से प्रेस करता हूं ।
जेन्स टिम्मरमैन

5
इसी तरह, "* ~" फाइलें निकालते समय, मैं पहले टिल्ड टाइप करता हूं, फिर तारांकन में जोड़ता हूं।
टेकनोलगी

4
इसलिए आप वर्तमान निर्देशिका में अपने घर को हर चीज से हटा देंगे?
greg0ire

@ greg0ire नहीं, मुझे लगता है कि वह कहना चाहता था, कि /mnt/hetznerbackup, उसे उस फ़ोल्डर के अंदर सब कुछ चिह्नित करने के लिए "/" का उपयोग करना था .. लेकिन माता-पिता से, केवल hetznerbackupस्लैश के बिना पर्याप्त है।
टोडुआ

1
@tazotodua: मैं टेकनोलोगी की टिप्पणी का उल्लेख कर रहा था
greg0ire

16

मैं बैकअप मशीन को पुनर्प्राप्त करने का प्रयास करूंगा, जहां सभी प्रतियां संग्रहीत थीं:

  • पहला चरण - ddकॉमैंड के साथ इस मिटाए गए "बैकअप मशीन" ड्राइव का बैकअप बनाएं ।
  • दूसरा चरण - testdiskफ़ाइलों को पुनर्प्राप्त करने के लिए उपयोग करें ।

तो आपको यह बताने की अनुमति देता है कि आप 1TB को पुनर्प्राप्त करना चाहते हैं, आपको अतिरिक्त 2TB, बैकअप के लिए 1TB (पहला चरण) और वसूली के लिए 1TB (दूसरा चरण) की आवश्यकता होगी।

मैं इसी तरह की गलती उर्फ ​​rm -fr [फोन बजाई] और सीडी को अनमोल निर्देशिका के साथ किया। अब मैं हमेशा दो बार सोचता हूं और rm या dd कमांड का उपयोग करने से पहले कुछ बार दोहराता हूं।


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

1
आप अभी भी ठीक हो सकते हैं, यह निर्भर करता है कि आपने ddअपने आखिरी मौके को कितने समय के लिए मिटा दिया।
एबीसी Xyz

129
यह कहने के लिए क्षमा करें, लेकिन मैं इस सवाल में बहुत बड़ा ट्रोल महसूस करता
हूं

3
आशा है कि आप उत्तर में छोटा सा ट्रोल महसूस करते हैं :)
एबीसी Xyz

5
ईमानदार रहना। मुझे यकीन नहीं है कि आप असली हैं। यदि आप हैं, तो आप शायद गलत काम में हैं ...
19

7

जैसा कि एक अन्य उत्तर में उल्लेख किया गया है, हेट्ज़नर में एक बचाव प्रणाली है। इसमें ssh एक्सेस के साथ नेटवाट ऑप्शन दोनों के साथ-साथ एक जावा एप्लेट भी शामिल है, जो आपको स्क्रीन पर और कीबोर्ड को अपने वाइसर पर देता है।

यदि आप अधिक से अधिक पुनर्प्राप्त करना चाहते हैं, तो सर्वर को नेटबूट सिस्टम में रिबूट करें और फिर लॉग इन करें और उचित डिवाइस इनोड से फाइल सिस्टम की एक छवि डाउनलोड करें।

मुझे लगता है कि कुछ इस तरह काम करना चाहिए:

ssh root@host cat /dev/sda > server.img

बेशक ssh कमांड के आने से पहले शेल द्वारा पुनर्निर्देशन किया जाता है, इसलिए server.img एक स्थानीय फ़ाइल है। तुम सिर्फ रूट फाइल सिस्टम और नहीं पूर्ण डिस्क चाहते हैं, की जगह sdaसे sda3तुम मुझे के रूप में एक ही छवि का उपयोग कर रहे संभालने।


हो सकता है: ssh root@host cat /dev/sda | gzip -c - > /path/to/dir_on_huge_partition/server.img.gz(ऑन-द-फ़्लाई-गज़िप इस बात पर निर्भर करेगा कि फाइलसिस्टम की सामग्री क्या है ... इस पर निर्भर करेगा या नहीं ...)
ओलिवियर दुलैक

@OlivierDulac जिस तरह से gzip का उपयोग करके डेटा को नेटवर्क पर असम्पीडित किया जाता है और फिर उसे प्राप्त करने वाले पक्ष पर संपीड़ित किया जाता है। मेरा मानना ​​है कि जिस परिणाम को आप प्राप्त करना चाहते हैं वह स्थानांतरित किए जाने के दौरान डेटा को संपीड़ित करना था। स्थानीय छवि को संपीड़ित या संग्रहीत नहीं किया जा सकता है, लेकिन आप उस छवि पर लागू होने वाले उपकरण बाद में संपीड़ित संस्करण के साथ काम नहीं करेंगे। यदि आप पारगमन के दौरान डेटा को प्राप्त करना चाहते हैं, तो आप ssh में संपीड़न सुविधा का उपयोग कर सकते हैं। -Cयदि यह आपके कॉन्फ़िगरेशन में पहले से सक्षम नहीं है, तो इसे सक्षम किया जा सकता है।
कास्परड

2
मैं फ़ाइल के आकार को कम करने की कोशिश कर रहा था। लेकिन अगर आप बैंडविड्थ (अच्छे विचार) को बचाना चाहते हैं: बस उद्धरण जोड़ें: ssh root@host "cat /dev/sda | gzip -c - " > /path/to/dir_on_huge_partition/server.img.gz(ssh का -c विकल्प आमतौर पर भी अच्छा होता है, लेकिन आपको अंत में संपीड़ित करने की आवश्यकता होगी, क्योंकि ssh केवल अपनी सुरंग के प्रवेश द्वार पर सेक करेगा। और स्टडआउट भेजने से पहले अनलॉकर करें)
ओलिवियर दुलैक

2

आप यहां से कैसे आगे बढ़ेंगे?

मैं rmअपने जीवन के बाकी समय का उपयोग करने की कसम खाऊंगा और सोचूंगा कि यह पागलपन है कि कचरा-क्लिक्स डिक्स सिस्टम पर डिफॉल्ट रिमूवल कमांड नहीं है।

https://github.com/andreafrancia/trash-cli

मुझे यकीन है कि यह पहली चीज है जिसे मैं एक ब्रांड नई प्रणाली पर स्थापित करता हूं और alias rmकुछ ऐसा है जो लोगों को trash-cliइसके बजाय उपयोग करने के लिए कहता है । इसमें एक अन्य उपनाम के बारे में एक नोट भी शामिल होगा जो वास्तव में चलता है /bin/rmलेकिन उन्हें ज्यादातर मामलों में इसका उपयोग करने से बचने के लिए कहता है।

:( सच्ची कहानी


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

@maetthu ओह निश्चित रूप से हटा दिए जाने के बाद वे कुछ दिनों के लिए कूड़ेदान में रहते हैं। उबंटू डेस्कटॉप ऐसा आइटम करता है जो 30 दिनों से अधिक समय से कूड़ेदान में है। एक सर्वर पर आप कुछ छोटा कर सकते हैं, जैसे। trash-empty 5एक क्रोन में। बिंदु यह है कि आप कुछ अनुग्रह अवधि की अनुमति दें क्योंकि मनुष्य गलतियाँ करते हैं।
गेरी

क्या आवश्यक सिस्टम टूल्स पर प्रतिबंध लगाने के बजाय कार्यशील डिजास्टर-रिकवरी प्लान रखना बेहतर नहीं है?
user292812

@ user292812 मैंने सुझाव नहीं दिया कि प्रतिबंध / बिन / आरएम, बस यह कि ज्यादातर मामलों में पहला विकल्प नहीं होना चाहिए (नोट / बिन / आरएम उपनाम)। आपका प्रश्न आपदा वसूली और एक मानव अनुकूल विलोपन विकल्प के बीच एक गलत विकल्प भी बताता है। आपके पास दोनों होने चाहिए।
गेरी

1
एक दो-चरण हटाने की प्रक्रिया बहुत परेशानी को बचा सकती है: 1. कचरा (क्रिया) पर ले जाएँ, 2. खाली कचरा। मैं इस तरह की स्क्रिप्ट को "आरएम" करता हूं और इसने मुझे कई बार महत्वपूर्ण चीजों को गलती से हटाने से बचाया है।
सैम वाटकिंस

1

मैं इस तरह के मामले में सलाह होगा अनमाउंट है और प्रयोग debugfs , और की मदद से lsdel आप सभी हाल ही में निकाली गई फ़ाइलें, जो जहां पत्रिकाओं से साफ नहीं की सूची और फिर कर सकते हैं डंप आवश्यक फ़ाइलें। उसी के लिए तेज़ खोज लिंक: http://www.linuxvoodoo.com/resources/howtos/debugfs

आशा है कि यह किसी की मदद करेगा। ;)

और हाँ, सुझावों में से एक बार स्क्रिप्ट बनाने के लिए, जो ream rm को real.rm और symlinc mv से rm में स्थानांतरित करता है ;)


-2

सभी सर्वर प्रॉसेस को रोकें और सब कुछ जो डिस्क i / o का कारण हो सकता है ... तो testdisk चलाएं, यह आपके सॉफ़्टवेयर स्टैक में होना चाहिए। यदि आपके पास भौतिक पहुँच है, तो testdisk के साथ एक livecd का उपयोग करें।


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