×î½ü¿´µ½ÈºÀïÌáµ½ÈçºÎ»Ö¸´LinuxÏÂext4ÎóɾµÄÎļþ£¬Ö®Ç°Ìý˵¹ýext3·ÖÇø»Ö¸´¹¤¾ßext3grep£¬µ«Êǻָ´ext4һֱûÓиÅÄ¶øÇÒĿǰÏßÉϵÄϵͳ·ÖÇø¸ñʽ¶¼ÊÇext4,SOÍøÉÏÕÒµ½ÁËÒ»¿î½ÐextundeleteµÄÎļþ»Ö¸´¹¤¾ß£¬¸Ã¹¤¾ß×î¸øÁ¦µÄÒ»µã¾ÍÊÇÖ§³Öext3/ext4Ë«¸ñʽ·ÖÇø»Ö¸´£¬¶ÔÎÒÃÇÔËά¹¥³ÇʨËãÊÇÒ»¿îÉñÆ÷¼¶±ðµÄÈí¼þ£¬ÕâÀïÕûÀíÁËÈçÏÂÎĵµ£¬¹©´ó¼Ò²Î¿¼¡£
ÐéÄâ»ú: VMWare Workstation 9.0.2
²Ù×÷ϵͳ: CentOS6.3 x64
extundelete: extundelete-0.2.4
Ò».Ä£Äâ»·¾³
1.Ê×ÏȹرÕSELINUX
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------
2.ÔÚÐéÄâ»úÉÏ´´½¨Ò»¸ö2GµÄ´ÅÅÌ
3.½øÈëϵͳ£¬´´½¨Ò»¸ö2GµÄÖ÷·ÖÇø
# fdisk /dev/sdb
---------------------
n+p+1+»Ø³µ+»Ø³µ+w
---------------------
4.ʹ·ÖÇøÎÞÐèÖØÆô¾ÍÄÜÉúЧ
# partx -a /dev/sdb
5.¸ñʽ»¯Îªext4·ÖÇø²¢¹ÒÔØ
# mkfs.ext4 /dev/sdb1
# mkdir /data
# mount /dev/sdb1 /data
×¢: ÔÚʵ¼ÊÏßÉϻָ´¹ý³ÌÖУ¬ÇÐÎð½«extundelete°²×°µ½ÄãÎóɾµÄÎļþËùÔÚÓ²ÅÌ£¬ÕâÑù»áÓÐÒ»¶¨¼¸Âʽ«ÐèÒª»Ö¸´µÄÊý¾Ý³¹µ×¸²¸Ç¡£
½¨Òé¼Ó×°Ò»¿éÓ²Å̽«extundelete°²×°µ½´ËÓ²ÅÌ£¬ÔÙ×öÒÔϲÙ×÷¡£
¶þ.extundelete°²×°
1.°²×°ÒÀÀµ°ü
# yum install e2fsprogs* -y
2.ÏÂÔØ²¢°²×°extundelete
# wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
# tar -jxvf extundelete-0.2.4.tar.bz2
# cd extundelete-0.2.4
# ./configure --prefix=/usr/local/extundelete
# make && make install
3.ÑéÖ¤ÊÇ·ñ°²×°³É¹¦
# cd /usr/local/extundelete/bin
# ./extundelete -v
---------------------
extundelete version 0.2.4
libext2fs version 1.41.12
Processor is little endian.
---------------------
4.ÉèÖû·¾³±äÁ¿
# echo "PATH=/usr/local/extundelete/bin:$PATH" >> /etc/profile
# echo "export PATH" >> /etc/profile
# source /etc/profile
5.ÉÏ´«Ò»Ð©Í¼Æ¬£¬°²×°°üµÈÎļþµ½/dataĿ¼
# cd /data
# yum install lrzsz -y
# rz
-------------
±¾µØÎļþ.....
-------------
# ls
------------------
lost+found mysql-5.6.10.tar.gz nginx.conf pic.jpg
------------------
6.È«²¿É¾³ý
# rm -rf *
7.²é¿´±»É¾³ýÎļþ
1).²é¿´Ç°ÐèÐ¶ÔØ¸Ã´ÅÅÌ·ÖÇø
# cd ~
# umount /dev/sdb1
2).²é¿´Îļþ
×¢:Ò»°ãÒ»¸ö·ÖÇø¹ÒÔØµ½Ò»¸öĿ¼ÏÂʱ£¬Õâ¸ö¡±¸ù¡±Ä¿Â¼µÄinodeֵΪ2
ÎÒÃÇΪÁ˲鿴¸ùĿ¼ËùÓÐÎļþ£¬ËùÒԲ鿴·ÖÇøinodeΪ2µÄÕâ¸ö²¿·Ö
# extundelete /dev/sdb1 --inode 2
--------------------------------
.....
File name | Inode number | Deleted status
. 2
.. 2
lost+found 11 Deleted
mysql-5.6.10.tar.gz 12 Deleted
nginx.conf 13 Deleted
pic.jpg 14 Deleted
--------------------------------
×¢:±ê¼ÇΪ¡±Deleted¡±µÄÎļþÔòÊDZ»É¾³ýµÄÎļþ
8.»Ö¸´Ö¸¶¨µÄÎļþ
×¢: ĬÈϱ»É¾Îļþ»á»Ö¸´µ½µ±Ç°Ä¿Â¼ÏµÄRECOVERED_FILESĿ¼ÖÐÈ¥
# extundelete --restore-file pic.jpg /dev/sdb1
# cd RECOVERED_FILES/
# ll
----------------
-rw-r--r-- 1 root root 52592 8ÔÂ 13 07:18 pic.jpg
----------------
9.ÍêÈ«»Ö¸´É豸ÉÏÎļþ
# extundelete --restore-all /dev/sdb1
# ll
-----------------------------------
×ÜÓÃÁ¿ 34464
-rw-r--r-- 1 root root 35174149 8ÔÂ 13 07:24 mysql-5.6.10.tar.gz
-rw-r--r-- 1 root root 4551 8ÔÂ 13 07:24 nginx.conf
-rw-r--r-- 1 root root 52592 8ÔÂ 13 07:18 pic.jpg
-rw-r--r-- 1 root root 52592 8ÔÂ 13 07:24 pic.jpg.v1
-----------------------------------
×¢:ÕâÀïÍêÈ«»Ö¸´²¢²»»á°Ñ֮ǰ»Ö¸´µÄpic.jpgÎļþ¸²¸Çµô£¬¶øÊÇÖØÃüÃûΪpic.jpg.v1
10.»Ö¸´Ö¸¶¨µÄʱ¼äµãºó±»É¾Îļþ
1).Ö¸¶¨Ò»¸öʱ¼äµã
# date -d "Sep 4 03:09:13 2013" +%s
------------------
1378235353
------------------
2).»Ö¸´Õâ¸öʱ¼äµãºóµÄÎļþ
# extundelete --restore-all --after ¡°1378235353¡± /dev/sdb1
--------------------
..........
--------------------
×¢:Èç¹ûÒª»Ö֮ǰµÄ¾ÍÓÃbefore²ÎÊý¡£extundeleteÃüÁîÓëafter½áºÏʹÓã¬ÔÚ½øÐлָ´Ê±·Ç³£ÓÐÓ㬿ÉÒÔ¹ýÂ˵ôÄÇÌ«¾ÉµÄÎļþ£¬¼õС»Ö¸´Ñ¹Á¦¡£
11.¼ìÑéÊÇ·ñ»Ö¸´³É¹¦
# md5sum RECOVERED_FILES/mysql-5.6.10.tar.gz
------------------------------------
9dcee911fb4bc7e977a6b63f4d3ffa63 RECOVERED_FILES/mysql-5.6.10.tar.gz
------------------------------------
ÉÏ´«¸Õ²ÅÎóɾµÄmysql°²×°°ü
# rz
...
# md5sum mysql-5.6.10.tar.gz
---------------------------------
9dcee911fb4bc7e977a6b63f4d3ffa63 mysql-5.6.10.tar.gz
---------------------------------
MD5ÖµÏàͬ£¬»Ö¸´³É¹¦¡£¡£¡£
-----------´ó¹¦¸æ³É-------------
×÷Õߣºshowerlee