溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

發(fā)布時間:2020-08-14 16:51:01 來源:ITPUB博客 閱讀:426 作者:dbhelper 欄目:建站服務(wù)器

        
    大家好我是歷史,身為liunx系統(tǒng)管理員,rm命令是不是經(jīng)常在用呢?有沒有做過rm命令以后,瞬間感覺無語的時候!

讓大家看看我的血的教訓(xùn)!                  
     
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

果真感覺蛋疼了,欲哭無淚??!寫了一天的成果,想著把之前備份的文件刪除呢,結(jié)果把剛寫完的刪了。

國外著名linx管理員守則中有這么一條:“慎用rm -rf命令,除非你知道此命令將帶來什么后果?!?可見這個命令的重要性啊,書中看到的這句話,確實(shí)很對。
說了這么多,教教大家執(zhí)行了rm命令后 該這么辦吧,是有辦法回復(fù)的,我剛經(jīng)過試驗證實(shí)了,google有一個開源的包 叫ext3grep工具他可以回復(fù)刪除的文件,甚至是drop database xcy; 對,就是誤刪除的數(shù)據(jù)庫都可以回復(fù)。


   先說一下他的工作原理吧,然后我在把試驗分享給大家, 工作原理其實(shí)也不難,這個工具需要在ext3或者ext4 的文件系統(tǒng)上才可以實(shí)現(xiàn),因為ext3文件系統(tǒng)是日志型文件系統(tǒng),ext3文件系統(tǒng)儲存信息的時候是由inode號和block塊存儲的。
神馬? 不知道什么是inode號?和block塊? 好吧,在說明白點(diǎn),比如:一個分區(qū)比如一本書,那么block塊就是書每頁的內(nèi)容,而inode號 就是書的目錄,系統(tǒng)找文件的時候先找inode號 然后根據(jù)inode號去找硬盤上的block快信息,明白了吧! 

     
  在說一下刪除的原理吧。 當(dāng)硬盤上的一個文件刪除,其實(shí)沒有真正想象中的那樣在硬盤上清除掉的,他是把inode號和block塊的那個鏈子 斷開,但是真正的數(shù)據(jù)還是在硬盤上的,有沒有感覺在windos上刪除是那么快,沒考慮到這吧,當(dāng)你在刪除文件的地方重新復(fù)制了新文件,那時候才會把之前的文件覆蓋掉,也就是說刪除了沒有關(guān)系,千萬不要往那個位置放文件了。

源碼包下載位置:http://down.51cto.com/data/709491

原理說完了,開始實(shí)戰(zhàn)。

環(huán)境介紹: 系統(tǒng)版本:CentOS release 5.4 (Final)

1 安裝之前先檢查有沒有這個包: rpm -qa | grep e2fsprogs

2 ext4grep 是個源碼包,需要編譯安裝

檢查一下e2fsprogs包是否完整,我的卻一個-devel的包,所以要先yum install e2fsprogs* 我偷懶了嘿嘿
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。
解壓ext3源碼包
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

進(jìn)入源碼包,然后開始檢查包的完整性 執(zhí)行: ./configure 如果在這個過程中到最后有error那么先檢查你的是不是少 e2fsprogs-devel
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

在進(jìn)行 make && make install (編譯 編譯安裝) 一般這里不會有問題如果這里報錯了 檢查你系統(tǒng)是不是缺少 gcc gcc-c++ 這倆包 你可以 yum install gcc* 全部安裝 有好處沒有壞處哈哈哈
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

等待完整完,,好了安裝完以后??梢韵炔榭匆粋€是否完成成功了,用: ext3grep -v 命令查看ext3的版本信息如下如:
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

當(dāng)然如果不知道命令怎么用可以輸入:ext3grep --help 查看

然后我需要手動創(chuàng)建一個分區(qū), 創(chuàng)建命令: fdisk /dev/sda 這個因為沒有辦法保存圖像所有我直接顯示的創(chuàng)建完成以后的。如果大家不知道怎么創(chuàng)建 可以查看我的 linx基本命令(文件系統(tǒng)章節(jié))。


然后 把這個分區(qū)y用ext3分區(qū)格式格式化 并且掛載到mnt目錄下。
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

然后 我進(jìn)入了掛載的目錄里, 創(chuàng)建了xcy目錄, 把/etc/passwrd 和 /etc/my.cnf 倆個文件復(fù)制到了/mnt/xcy目錄中,并且 把倆個文件改了下名字 為了我的辨認(rèn)。 最后我執(zhí)行了 rm -rf /xcy/* 把xcy文件中的文件都刪除了。
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

咳咳,然后我首先做的是卸載下來 把掛載的分區(qū),因為 怕別人動了我的文件夾 在里面復(fù)制了東西我就沒有辦法恢復(fù)了,在下面我執(zhí)行:ext3grep /dev/sda5 --ls --inode 2 給你們解釋一下

ext3grep 刪除文件的分區(qū) --ls --innode inode號


為什么最后我們要寫2 因為我不知道我的刪除的文件的inode號多少, 所有我寫的是最大的inode / 的inode號 可以用: ls -id / 查看

執(zhí)行下去以后就會看到 他在刷幫你找刪除的文件們。。

linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。
繼續(xù)走,,掃到最后我們想要知道的文件夾的inode號是2099 然后我們繼續(xù)執(zhí)行掃描命令: ext3grep /dev/sda5/ --ls --lnode 2009 這個命令他就會掃 xcy目錄下的所有文件(包括刪除 還有沒有刪除文件的inode號了) ,然后我們就可以掃除來了,my.cnf.xcy innode號 是2011 passwd.xcy 文件的inode號 是2010
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。


現(xiàn)在我們的目標(biāo)馬上就要達(dá)到了,知道了倆個文件的inode號 就可以進(jìn)行恢復(fù)了.

然后我們執(zhí)行 ext3grep /dev/sda5 --restore-inode 2011 (恢復(fù)my.cnf.xcy文件)

我們在執(zhí)行 ext3grep /dev/sda5 --restore-inode 2010 (恢復(fù)passwrd.xcy文件)

然后我們將卸載的文件系統(tǒng)重現(xiàn)掛載上去。
linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。
恢復(fù)了,文件不會在原來的位置,他會自動在/ 下創(chuàng)建一個叫RESTORED_FILES 目錄 你以后所有恢復(fù)的文件都會在這里保存著,還有文件的名字是以inode號命名的 你需要手動修改回來原名字,不要怕不知道那個文件是那個,還記得我們 --ls 掃描的時候他都有對應(yīng)的文件和inode號

linux系統(tǒng):rm-rf執(zhí)行以后,怎么辦?我來教你恢復(fù)文件。

文件恢復(fù)了,哈哈 是不是很激動啊,解決了liunx 下不能恢復(fù)的問題,這樣就可以大大節(jié)約成本 不用找硬盤恢復(fù)工具 不用花錢了, 對了還有呢, 這個同樣可以恢復(fù) mysql 數(shù)據(jù)庫 誤操作刪除了庫或者表 都可以恢復(fù) 原理嘛 其實(shí)就是恢復(fù)相對應(yīng)的mysql數(shù)據(jù)庫中的文件了,自己嘗試一下吧,

對了在說一下,我截圖中 圈起來了是正確的命令,別的很多有操作錯誤的,因為畢竟第一次試驗嗎。。成功了很高興,,希望能幫到和我同樣遭遇的朋友們。


最后來個總結(jié)缺點(diǎn): 我試驗發(fā)現(xiàn)這個功能有些缺點(diǎn):

1 條件必須是ext3 ext4 日志文件系統(tǒng)才可以做到,別的我就不清楚了。

2 我這個是自己創(chuàng)建的分區(qū)/dev/sda5 也就是說我知道刪除的文件在那個分區(qū)上,假如你刪除了文件知道在哪里分區(qū)中 那么你就需要從sda1 ....sdaN 都試一遍吧,,,,。

有什么問題可以留言 聯(lián)系我 我看到了可以幫大家解決。。。


作者的話:--->這篇文章在51cto中也可以到,沒錯,對那就是我,也是我原創(chuàng)的,以后轉(zhuǎn)數(shù)據(jù)庫行業(yè)了,打算常駐這個論壇,我弘揚(yáng)原創(chuàng),這個不算抄襲吧!






向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI