当前位置: 代码迷 >> 综合 >> 黑猴子的家:Centos7 数据恢复
  详细解决方案

黑猴子的家:Centos7 数据恢复

热度:140   发布时间:2023-09-14 22:38:18.0

1、对磁盘添加新分区

[root@hadoop102 ~]# fdisk /dev/sdb
m
n
p
enter
+1G
w

2、获得新分区

[root@hadoop102 ~]# partprobe /dev/sdb 
[root@hadoop102 ~]# partx -a /dev/sdb
[root@hadoop102 ~]# reboot

3、对新分区进行格式化

[root@hadoop102 ~]# mkfs.ext3 /dev/sdb1

4、挂载

[root@hadoop102 ~]# mkdir -p /tmp/sdb1
[root@hadoop102 ~]# mount /dev/sdb1 /tmp/sdb1
or
[root@hadoop102 ~]# mount -t ext3 /dev/sdb1 /sdb1

5、编写数据

[root@hadoop102 ~]# cp /etc/passwd /tmp/sdb1
[root@hadoop102 ~]# cp /etc/hosts /tmp/sdb1

6、查看删除前数据

[root@ hadoop102 ~]# tree /tmp/sdb1
├── a
│   ├── a.txt
│   └── b
│       ├── a.txt
│       ├── c  #空目录
│       └── kong.txt  #空文件
├── hosts
├── lost+found
└── passwd

7、删除数据

[root@ hadoop102 ~]# rm -rf /tmp/sdb1/*

8、卸载分区

[root@hadoop102 ~]# umount /tmp/sdb1
## 如果提示设备忙,用下面方法卸载就可以卸载
[root@hadoop102 ~]# fuser -m -v -i -k /sdb1
[root@hadoop102 ~]# umount /tmp/sdb1
## 只读
[root@hadoop102 ~]# mount -r -n -o remunt /tmp/sdb1 

9、yum安装依赖

[root@hadoop102 ~]# yum install e2fsprogs-devel e2fsprogs e2fsprogs-libs
[root@hadoop102 ~]# yum install gcc gcc-c++

10、下载extundelete-0.2.4.tar.bz2

[root@hadoop102 software]# wget \
http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

11、解压extundelete-0.2.4.tar.bz2

[root@hadoop102 software]# tar -xjvf extundelete-0.2.4.tar.bz2 -C ../module/

12、安装e2fsprogs-devel

[root@hadoop102 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
[root@hadoop102 ~]# rpm -ivh --nodeps \
/mnt/cdrom/Packages/e2fsprogs-devel-1.42.9-11.el7.x86_64.rpm

13、安装extundelete

[root@hadoop102 ~]# cd /opt/module/extundelete-0.2.4/
## 检查系统安装环境
[root@hadoop102 extundelete-0.2.4]# ./configure
[root@hadoop102 extundelete-0.2.4]# make -j 4
[root@hadoop102 extundelete-0.2.4]# make install

14、查看能恢复的数据

[root@hadoop102 ~]# extundelete /dev/sdb1 --inode 2

15、通过inode结点恢复

[root@hadoop102 ~]# extundelete /dev/sdb1 --restore-inode 12

16、通过文件名恢复

[root@hadoop102 ~]# extundelete /dev/sdb1 --restore-file passwd

17、恢复某个目录,如目录a下的所有文件

[root@hadoop102 ~]# extundelete /dev/sdb1 --restore-directory a

18、恢复所有数据

[root@hadoop102 ~]# extundelete /dev/sdb1 --restore-all

19、对比恢复后数据

[root@hadoop102 ~]# diff /etc/passwd RECOVERED_FILES/passwd  
[root@hadoop102 ~]# vimdiff /etc/passwd RECOVERED_FILES/passwd  
[root@hadoop102 ~]# md5sum RECOVERED_FILES/passwd  /etc/passwd