Linux 系统文件误删如何恢复

一、EXT类型文件恢复

EXT(extundelete )是一个开源的 Linux 数据恢复工具,支持 ext3,ext4 文件系统。(ext4只能在centos6版本恢复)

实验过程

(1)首先新建一个磁盘分区

fdisk -l              
fdsik /dev/sdb                     ##创建分区
mkfs.ext3 /dev/sdb1                ##格式化ext3文件系统
mkdir /test                        ##创建一个目录用来测试
mount /dev/sdb1 /test              ##挂载

“ df -Th ”查看一下

在这里插入图片描述
(2)安装依赖包需要系统镜像被挂载起来
mount /dev/cdrom /mnt
在这里插入图片描述

(3)安装依赖包
yum -y install e2fsprogs-devel e2fsprogs-libs

在这里插入图片描述
(4)先切换到测试目录
cd /test

从官网下载安装包(或者电脑里有软件包也可以直接拖进来)
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

在这里插入图片描述
(5)解压
tar jxvf extundelete-0.2.4.tar.bz2

在这里插入图片描述
(6)cd extundelete-0.2.4/

指定安装目录,开始安装
./configure --prefix=/usr/local/extundelete && make && make install

在这里插入图片描述

注:若出现以下错误报告,说明gcc的组件没有装全

在这里插入图片描述
需执行以下命令:
yum install gcc gcc-c++ gcc-g77
在这里插入图片描述

(7)创建软连接(为了让系统识别命令)
ln -s /usr/local/extundelete/bin/* /usr/bin/

在这里插入图片描述
(8)先切换到测试目录
cd /test

模拟删除并执行恢复操作(先使用echo 命令将内容a 定义到文件A,B,C,D中,创建4个文件,或使用vim创建也行)
echo a>A
echo a>B
echo a>C
echo a>D

在这里插入图片描述

(7)查看文件系统/dev/sdb1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。
extundelete /dev/sdb1 --inode 2

在这里插入图片描述
在这里插入图片描述

(8)删除文件
在这里插入图片描述

(9)再查一下,可以看到A,B已经删除了
在这里插入图片描述
在这里插入图片描述
(10)切换到根目录并解挂载
在这里插入图片描述
(11)恢复/dev/sdb1文件系统下的内容
extundelete /dev/sdb1 --restore-all
在这里插入图片描述

(12)ls 查一下发现多了一个RECOVERED_FILES 目录,被删除了的文件也在里面
在这里插入图片描述

二、xfs类型文件备份和恢复

Centos 7 系统默认采用xfs类型的文件, xfs类型的文件可使用 xfsdump(备份工具) 与 xfsrestore(恢复工具) 工具进行备份恢复。
xfsdump 的备份级别有两种:0表示完全备份;1-9表示增量备份。xfsdump的备份级别默认为0。

xfsdump 的命令格式为:
xfsdump -f 备份存放位置 要备份的路径或设备文件

常用的选项:
-f:指定备份文件目录
-L:指定会话标签 session label
-M:指定设备标签 media label
-S:备份单个文件, -s后面不能直接跟路径

xfsdump 使用限制:
1、只能备份已挂载的文件系统
2、必须使用root的权限才能操作
3、只能备份XFS文件系统
4、备份后的数据只能让 xfsrestore 恢复
5、不能备份两个具有相同UUID的文件系统(可用 blkid 命令查看)

实验过程

直接使用上一个实验的磁盘分区
mkfs.xfs -f /dev/sdb1 加“ -f ”是强制进行格式化
在这里插入图片描述
(1)新建分区fdisk /dev/sdb
(2)创建目录并挂载
mkdir /data
mount /dev/sdb1 /data

在这里插入图片描述

(3)进入/date目录将passwd 的信息进行备份(后面会对该文件信息进行恢复,备份防止无法找回)

在这里插入图片描述

(4)新建个目录并在目录中建个文件
在这里插入图片描述

(5)看一下xfsdump 有没有安装,若没有就安装一下
rpm -qa | grep xfsdump
yum install -y xfsdump

在这里插入图片描述
(6)将/dv/sdb1 中的文件备份到 /opt下的dump_sdb1中,-L后面是文件名,-M后面是设备名
xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1 -M sdb1
在这里插入图片描述
(7)删除所有的文件和目录并恢复
xfsrestore -f /opt/dump_sdb1 /data/

在这里插入图片描述
可以看到passwd文件恢复了

猜你喜欢

转载自blog.csdn.net/weixin_51613313/article/details/110772257