恢復rm刪除的文件(ext3)
df -T # 首先查看磁盤分區格式,此軟件只針對ext3
umount /data/ # 卸載掛載,數據丟失請首先卸載掛載,或重新掛載只讀
ext3grep /dev/sdb1 --ls --inode 2 # 記錄信息繼續查找目錄下文件inode信息
ext3grep /dev/sdb1 --ls --inode 131081 # 此處是inode
ext3grep /dev/sdb1 --restore-inode 49153 # 記錄下inode信息開始恢復目錄
# 1、安裝
cd /tmp
wget http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz
zypper install e2fsprogs e2fsprogs-devel
tar -zxf ext3grep-0.10.1.tar.gz
cd ext3grep-0.10.1
./configure
make
make install
# 2、新建文件並刪除
bj-bi-recommend10:/opt/huawei # touch 1.txt 2.txt
bj-bi-recommend10:/opt/huawei # rm 1.txt 2.txt
# 3,掃描分區
bj-bi-recommend10:~ # ext3grep /dev/xvdb --ls --inode 2
Running ext3grep version 0.10.1
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 4000
Loading group metadata... done
Minimum / maximum journal block: 65503746 / 65537061
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1395811917 = Wed Mar 26 13:31:57 2014
Number of descriptors in journal: 169; min / max sequence numbers: 6 / 11
Inode is Allocated
Loading xvdb.ext3grep.stage2... done
The first block of the directory is 1539.
Inode 2 is directory "".
Directory block 1539:
.-- File type in dir_entry (r=regular file, d=directory, l=symlink)
| .-- D: Deleted ; R: Reallocated
Indx Next | Inode | Deletion time Mode File name
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 2 drwxr-xr-x .
1 2 d 2 drwxr-xr-x ..
2 4 d 11 drwx------ lost+found
3 4 r 12 D 1395812112 Wed Mar 26 13:35:12 2014 rrw------- 1.txt
4 end d21397505 drwx------ file
5 end r 13 D 1395812112 Wed Mar 26 13:35:12 2014 rrw------- 2.txt
- - - - -
# 查詢
ext3grep /dev/xvdb --ls --inode 2
# 恢復單個 僅目錄 裏面的文件恢復失敗 ..
ext3grep /dev/xvdb --restore-file del --depth del
# 恢復目錄裏面的一個文件
ext3grep /dev/xvdb --restore-file del/1
# 恢復所有文件
bj-bi-recommend10:~ # ext3grep /dev/xvdb --restore-all
Running ext3grep version 0.10.1
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 4000
Minimum / maximum journal block: 65503746 / 65537061
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1395811939 = Wed Mar 26 13:32:19 2014
Number of descriptors in journal: 45; min / max sequence numbers: 6 / 15
Loading xvdb.ext3grep.stage2... done
Restoring 1.txt
Restoring 2.txt
bj-bi-recommend10:~ # cd RESTORED_FILES/
bj-bi-recommend10:~/RESTORED_FILES # ls
1.txt 2.txt lost+found
如果你有幸記得你誤刪除的文件名及其路徑的話,就可以直接用下面的命令進行恢復了:
ext3grep /dev/xvdb --restore-file 1.txt
時間段恢復文件
date -d "2014-03-25 15:00:00" +%s #把時間轉化爲數字
1395730800
date -d "2014-03-25 22:30:00" +%s #把時間轉化爲數字
1395757800
ext3grep /dev/xvdb --restore-all --after 1395730800 --before 1395757800
可以用這兩個參數指定時間,從2014-03-25 15:00:00 到 2014-03-25 22:30:00
需要注意的是,上面的文件路徑,是在該分區上文件路徑。假設我們要恢復/dev/xvdb 分區上文件,這個分區原來的安裝點是/opt/huawei,現在想恢復文件/home/easwy/vi/tips.xml,那麼輸入的命令應該是:
ext3grep /dev/xvdb --restore-file 1.txt
如果你忘記了文件名,或者你誤刪除的是一個目錄而你無法記全該目錄中的文件,你可以先用下面的命令查詢一下文件名:
ext3grep /dev/xvdb --dump-names | tee 1.txt
上面的命令把ext3grep命令的輸出記錄到文件filename.txt中,你可以慢慢查看,或者使用grep命令過濾出你需要的信息。
當你知道了目錄/文件的信息後,就可以用上面說的命令進行恢復了。
在ext3grep命令中有一個–depth參數,應該是用來恢復目錄以及其中的所有子目錄和文件的,不過Easwy用這個參數無法恢復出任何文件,只好採用笨辦法,寫了個腳本,一個個文件的恢復。
經過幾個小時的折磨(中間走了一些彎路),同事的文件終於恢復成功了!
通過下面的方式可以獲取文件要恢復的路徑信息。
[root@localhost opt]# ext3grep /data0/disk1 --dump-names
Running ext3grep version 0.10.2
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 7
Minimum / maximum journal block: 16616 / 20729
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1380011783 = Tue Sep 24 16:36:23 2013
Number of descriptors in journal: 67; min / max sequence numbers: 2 / 12
Loading disk1.ext3grep.stage2... done
ext3grep
ext3grep.txt
initrd-2.6.32-358.el6.i686kdump.img
lost+found
profile
4.恢復單個文件
如果要恢復被刪除的某個文件,通過下面方式即可。
[root@localhost opt]# ext3grep /data0/disk1 --restore-file ext3grep.txt
Running ext3grep version 0.10.2
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 7
Minimum / maximum journal block: 16616 / 20729
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1380011783 = Tue Sep 24 16:36:23 2013
Number of descriptors in journal: 67; min / max sequence numbers: 2 / 12
Writing output to directory RESTORED_FILES/
Loading disk1.ext3grep.stage2... done
Restoring ext3grep.txt
恢復rm刪除的文件(ext3grep)(時間有限制,文件刪除馬上卸載分區)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.