CentOS系统误删除文件怎么恢复

发布网友 发布时间:2022-04-24 12:57

我来回答

1个回答

热心网友 时间:2023-10-13 14:20

CentOS系统中,当误删除了文件后,进行以下几步操来恢复文件。

1、关掉所有的服务

当发现误删除文件时,为了尽可能的恢复数据,先要关掉所有的正在进行的服务,不要再进行数据的写入,要不然恢复的概率那就低了。我们可以直接

# killall 进程名

或者

# kill -9 pid
然后把误删除的文件所在分区,重新挂载成只读的
# mount -o ro /dev/sdb /data/

2、安装extundelete工具

# yum install -y e2fsprogs* //安装依赖包
# 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、恢复数据

实例:假如我们误删除文件为 test.txt,所在分区为/dev/sdb。
1)扫描文件
#
/usr/local/extundelete/bin/extundelete /dev/sdb --inode 2
//扫描哪些文件被删除了
2)恢复文件

# /usr/local/extundelete/bin/extundelete --restore-file test.txt /dev/sdb

3)查看文件
恢复的文件在当前目录下的 RECOVERED_FILES/ 目录下
# ls ./RECOVERED_FILES/

可以看到 test.txt 文件。

注意:

--------------------------------------------------------------------------------
如果想恢复整个分区上的文件,则可以执行以下命令
#
/usr/local/extundelete/bin/extundelete --restore-all /dev/sdb
恢复后的文件也在
./RECOVERED_FILES/
目录下。
--------------------------------------------------------------------------------

5、后续工作

1)重新挂载该分区为可写。
2)备份重要数据。
3)覆盖我们恢复出来的数据。
4)重启服务器,恢复之前关闭的各种服务。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com