linux系統(tǒng):rm-rf執(zhí)行以后恢復(fù)文件
環(huán)境介紹: 系統(tǒng)版本:CentOS release 5.4 (Final)
1 安裝之前先檢查有沒有這個(gè)包:
2 ext4grep 是個(gè)源碼包,需要編譯安裝
檢查一下 e2fsprogs 包是否完整,我的卻一個(gè)-devel 的包,所以要先 yum install e2fsprogs* 我偷懶了嘿嘿。


進(jìn)入源碼包,然后開始檢查包的完整性 執(zhí)行:
如果在這個(gè)過程中到最后有 error 那么先檢查你的是不是
少e2fsprogs-devel。

在進(jìn)行 make && make install (編譯 編譯安裝) 一般這里不會(huì)有問題如果這里報(bào)錯(cuò)了 檢查你系統(tǒng)是不是缺少 gcc gcc-c++ 這
倆包 你可以 yum install gcc* 全部安裝 有好處沒有壞處哈哈哈

等待完整完,,好了安裝完以后??梢韵炔榭匆粋€(gè)是否完成成功了,用: ext3grep -v 命令查看 ext3 的版本信息如下如:

當(dāng)然如果不知道命令怎么用可以輸入:ext3grep --help 查看
然后我需要手動(dòng)創(chuàng)建一個(gè)分區(qū), 創(chuàng)建命令: fdisk /dev/sda 這個(gè)因?yàn)闆]有辦法保存圖像所有我直接顯示的創(chuàng)建完成以后的。
如果大家不知道怎么創(chuàng)建 可以查看我的 linx 基本命令(文件系統(tǒng)章節(jié))。
然后 把這個(gè)分區(qū) y 用 ext3 分區(qū)格式格式化 并且掛載到 mnt 目錄下。

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

咳咳,然后我首先做的是卸載下來 把掛載的分區(qū),因?yàn)?怕別人動(dòng)了我的文件夾 在里面復(fù)制了東西我就沒有辦法恢復(fù)了,在下
面我執(zhí)行:ext3grep /dev/sda5 --ls --inode 2 給你們解釋一下
ext3grep 刪除文件的分區(qū) --ls --innode inode 號
為什么最后我們要寫 2 因?yàn)槲也恢牢业膭h除的文件的 inode 號多少, 所有我寫的是最大的 inode / 的 inode 號 可以用: ls
-id / 查看
執(zhí)行下去以后就會(huì)看到 他在刷幫你找刪除的文件們。

繼續(xù)走,,掃到最后我們想要知道的文件夾的 inode 號是 2099 然后我們繼續(xù)執(zhí)行掃描命令: ext3grep
/dev/sda5/ --ls --lnode 2009 這個(gè)命令他就會(huì)掃 xcy 目錄下的所有文件(包括刪除 還有沒有刪除文件
的 inode 號了) ,然后我們就可以掃除來了,my.cnf.xcy innode 號 是 2011 passwd.xcy 文件的 inode
號 是 2010

現(xiàn)在我們的目標(biāo)馬上就要達(dá)到了,知道了倆個(gè)文件的 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)掛載上去。

恢復(fù)了,文件不會(huì)在原來的位置,他會(huì)自動(dòng)在/ 下創(chuàng)建一個(gè)叫 RESTORED_FILES 目錄 你以后所有恢復(fù)的文件都會(huì)在這里保存著,
還有文件的名字是以 inode 號命名的 你需要手動(dòng)修改回來原名字,不要怕不知道那個(gè)文件是那個(gè),還記得我們 --ls 掃描的時(shí)
候他都有對應(yīng)的文件和 inode 號

文件恢復(fù)了,哈哈 是不是很激動(dòng)啊,解決了 liunx 下不能恢復(fù)的問題,這樣就可以大大節(jié)約成本 不用找硬盤恢復(fù)工具 不用花
錢了, 對了還有呢, 這個(gè)同樣可以恢復(fù) mysql 數(shù)據(jù)庫 誤操作刪除了庫或者表 都可以恢復(fù) 原理嘛 其實(shí)就是恢復(fù)相對應(yīng)的
mysql 數(shù)據(jù)庫中的文件了,自己嘗試一下吧,
對了在說一下,我截圖中 圈起來了是正確的命令,別的很多有操作錯(cuò)誤的,因?yàn)楫吘沟谝淮卧囼?yàn)嗎。。成功了很高興,,希望
能幫到和我同樣遭遇的朋友們。

最后來個(gè)總結(jié)缺點(diǎn): 我試驗(yàn)發(fā)現(xiàn)這個(gè)功能有些缺點(diǎn):
1 條件必須是 ext3 ext4 日志文件系統(tǒng)才可以做到,別的我就不清楚了。
2 我這個(gè)是自己創(chuàng)建的分區(qū)/dev/sda5 也就是說我知道刪除的文件在那個(gè)分區(qū)上,假如你刪除了文件知道在哪里分區(qū)中 那么你
就需要從 sda1 ....sdaN 都試一遍吧,,,,。
有什么問題可以留言 聯(lián)系我 我看到了可以幫大家解決。。。