Linux系统:第十三章:centos误删文件如何恢复文件数据

简介: Linux系统:第十三章:centos误删文件如何恢复文件数据

前言

提示:这里主要介绍centos误删文件如何恢复文件数据的情况,视频以xfs为例,博文会讲解xfs和ext4分区类型。


提示:以下是本篇文章正文内容,下面案例可供参考

一、查看分区类型

我们创建的centos对应的每个分区都有不同类型,可以通过以下命令进行查看,不同的分区类型恢复的命令也不相同,本文以xfs分区为例,作为演示,附带视频讲解。

df -T

xfs分区



ext4分区


二、使用centos7软件恢复工具extundelete作为文件恢复

1.安装extundelete

下载依赖包:

yum install e2fsprogs-devel e2fsprogs e2fsprogs-libs

2.上传extundelete安装包到自定义目录下面

百度网盘链接:https://pan.baidu.com/s/1UNS3TJxmnSuDWeI1sgarLQ

提取码:d9sb

这里我是去到/usr/local目录下面创建了一个software的目录,将安装包通过WinSCP上传上去了


3.解压安装包

在/usr/local/software目录下解压安装包

tar -jxvf extundelete-0.2.4.tar.bz2

4.进到解压后的安装包目录下面执行命令

yum -y install gcc
yum -y install gcc-c++
cd extundelete-0.2.4
./configure
make
make install
which extundelete

5.创建data目录和deletefile文件

cd /
mkdir /data
cd /data
touch deletefile

6.(xfs分区的)

备份命令

xfsdump -f /tmp/dump_data /data
 -> dump_data
 -> media0

可以找到data 1048577

/usr/local/bin/extundelete --inode 1048577 /dev/sda2
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 
y
Loading filesystem metadata ... 285 groups loaded.
Group: 128
Contents of inode 1048577:
0000 | ed 41 00 00 00 10 00 00 98 b3 6a 61 88 b3 6a 61 | .A........ja..ja
0010 | 88 b3 6a 61 00 00 00 00 00 00 03 00 08 00 00 00 | ..ja............
0020 | 00 00 08 00 06 00 00 00 0a f3 01 00 04 00 00 00 | ................
0030 | 00 00 00 00 00 00 00 00 01 00 00 00 20 20 40 00 | ............  @.
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 1c 85 44 00 00 00 00 00 00 00 00 | .......D........
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 00 08 6b d0 00 08 6b d0 14 06 2c a7 | ......k...k...,.
0090 | 66 b2 6a 61 d0 76 ae 7d 00 00 00 00 00 00 02 ea | f.ja.v.}........
00a0 | 07 06 3c 00 00 00 00 00 23 00 00 00 00 00 00 00 | ..<.....#.......
00b0 | 73 65 6c 69 6e 75 78 00 00 00 00 00 00 00 00 00 | selinux.........
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 75 6e 63 6f | ............unco
00e0 | 6e 66 69 6e 65 64 5f 75 3a 6f 62 6a 65 63 74 5f | nfined_u:object_
00f0 | 72 3a 64 65 66 61 75 6c 74 5f 74 3a 73 30 00 00 | r:default_t:s0..
Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1634382744
Creation time: 1634382728
Modification time: 1634382728
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 3
Blocks count: 8
File flags: 524288
File version (for NFS): 1149574144
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 127754, 4, 0, 0, 1, 4202528, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
File name                                       | Inode number | Deleted status
.                                                 1048577
..                                                2
deletefile                                        1048578        Deleted
delete                                            1048579        Deleted
RECOVERED_FILES                                   1048580

可以看到deletefile和delete这二个被我误删除文件的inode值列出来了


7.模拟误删文件

模拟删除/data目录内的所有内容

rm -rf /data/*

8.(xfs分区的)

恢复文件命令

xfsrestore -f /tmp/dump_data /data

8.(ext4分区的)

恢复data目录的命令:

/usr/local/bin/extundelete /dev/sda2 --restore-directory /data

如果出现以下情况:

NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 
//此处的信息是因为我在根目录下做实验,无法进行卸载导致的,这儿的大概意思是说 如果你要进行这个操作的话,最好吧分区卸载掉再进行恢复,否则如果不卸载的话,如果有写操作会吧原来的inode覆盖掉,如果你已经卸载了分区,还报这个错的话用fuser -k /PATH,之后再umount /PATH,请用这样的话会导致无法恢复,或者恢复不成功,笔者鉴于是测试服务器,并且是实验操作所以选Y,生产环境建议不要这么做。 
y
Loading filesystem metadata ... 285 groups loaded.
Loading journal descriptors ... 25781 descriptors loaded.
Failed to restore file 1048579
Could not find correct inode number past inode 2.
Try altering the filename to one of the entries listed below.
File name                                       | Inode number | Deleted status
/usr/local/bin/extundelete: Operation not permitted while restoring directory.
/usr/local/bin/extundelete: Operation not permitted when trying to examine filesystem

一般使用恢复所有删除的文件

sudo /usr/local/bin/extundelete /dev/sda2 --restore-all

9.查看恢复文件

cd /data
ls

10.视频讲解演示流程(以xfs为例)

B站地址:https://www.bilibili.com/video/BV1nq4y1d7KB?spm_id_from=333.999.0.0

总结

提示:文章主要讲解centos误删文件怎么恢复(xfs类型的分区),起因是本人在测试环境误删了docker镜像文件,导致所有运行的镜像文件都没了,项目无法运行,所以才做了这期博文和视频,作为记录,分享给大家。

参考博文:

https://blog.csdn.net/weixin_43622131/article/details/98511279

https://blog.csdn.net/wjciayf/article/details/39316913

相关文章
|
8月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
764 3
Linux系统禁用swap
|
8月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1342 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
842 3
Linux系统初始化脚本
|
8月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1012 1
|
存储 Linux Shell
虚拟机安装(安装(克隆)虚拟机 配置网络 安装Centos7 配置(修改)虚拟机的静态IP 修改网卡的配置文件 测试网络是否互通外部工具 连接linux系统 设置服务器时间 修改主机名)(下)
虚拟机安装(安装(克隆)虚拟机 配置网络 安装Centos7 配置(修改)虚拟机的静态IP 修改网卡的配置文件 测试网络是否互通外部工具 连接linux系统 设置服务器时间 修改主机名)
934 0
|
分布式计算 Hadoop Linux
虚拟机安装(安装(克隆)虚拟机 配置网络 安装Centos7 配置(修改)虚拟机的静态IP 修改网卡的配置文件 测试网络是否互通外部工具 连接linux系统 设置服务器时间 修改主机名)(上)
虚拟机安装(安装(克隆)虚拟机 配置网络 安装Centos7 配置(修改)虚拟机的静态IP 修改网卡的配置文件 测试网络是否互通外部工具 连接linux系统 设置服务器时间 修改主机名)
959 0
|
Ubuntu Oracle 安全
CentOS 将于年底终止!Linux服务器该何去何从?
CentOS 将于年底终止!Linux服务器该何去何从?
894 0
CentOS 将于年底终止!Linux服务器该何去何从?
|
Linux 开发工具 git
centos linux系统下搭建git服务器
安装git 正如大多数的linux系统,我们可以从centos的默认库安装最新的git。      在命令行切换到root权限下输入: sudo yum install git 在提示:Is this ok [y/N]: 时输入 y即可安装成功。
1153 0
|
9月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1513 69