CentOS6中在ext4文件系统下恢复被误删除的文件

1、首先下载extundelete这个工具(下载网址:http://sourceforge.net/)
2、创建一个新的分区来作为测试分区:
fdisk /dev/sda ——创建分区
p ——查看分区
n ——创建新的分区
p ——创建一个主分区
w ——保存按enter键退出
然后重启——reboot
3、
(1)、先创建一个目录作为挂载点
mkdir /tmp/sda4
(2)、对刚刚创建好的分区进行格式化
mkfs.ext4 /dev/sda4
(3)、挂载
mount /dev/sda4 /tmp/sda4
4、因为后面要演示在ext4文件系统上恢复被误删除的文件,所以,我们copy一些文件过来:
cp /etc/passwd /tmp/sda4
cp /dev/hosts /tmp/sda4
echo asjdskbfhs >1.txt
mkdir -p /tmp/sda4/a/b/c
cp 1.txt /tmp/sda4/a/
cp 1.txt /tmp/sda4/a/b/
touch /tmp/sda4/a/b/2.txt
安装tree以便于我们后面查看:
rpm -ivh /mnt/Packages/tree-(此处可以按tab键)
安装成功后查看:
tree /tmp/sda4/ 即可
5、这时我们删除文件:
cd /tmp/sda4/
rm -rf 1 hosts passwd

误删后这时我们需要先卸载恢复文件的分区,或者以只读方式进行挂载:
umount /tmp/sda4

6、完成以上5步后,下面的内容我们需要先安装extundelet 并将它上传到Linux中,
因为上传后是一个压缩包,我们进行解压:
tar -jxvf extundelet(按tab键补全)

然后在Linux系统中进行安装:
yum install e2fsprogs-devel

检查系统安装环境:
./configure

make -j 2(根据自身电脑内核)这一步是把源代码编译成二进制文件,方便后面我们执行此类文件

安装:
make install
install -m 777 /bin/find /opt/a.sh

7、恢复:
方法一:通过文件名进行恢复:
extundelet /dev/sda4 --restore-file passwd
diff /etc/passwd +恢复文件名/passwd(若没有任何信息输出则恢复成功了)

方法二:恢复所有文件:
extundelet /dev/sda4 --restore-all即可

方法三:通过inode进行恢复:
extundelet /dev/sda4 --restore-inode 12(12表示passwd)
ls——进行查看所要恢复的文件
diff /dev/passwd +恢复文件/file.12(12表示passwd)

方法四、恢复整个目录:
extundelet /dev/sda4 --restore-目录名 a
tree +恢复文件名/a/(查看)
tree /root/sda4-black/a/即可查看原来目录

你可能感兴趣的:(CentOS6中在ext4文件系统下恢复被误删除的文件)