
# 通过Extundelete恢复弹性云服务器误删除数据（Linux）
#### 应用场景
Extundelete是一款文件恢复工具，支持恢复ext3及ext4文件系统类型的误删除文件。
![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/notice_3.0-zh-cn.png)
误删除文件的恢复程度与如下因素有关：
- 文件删除后是否被写覆盖
- 元数据是否存留在journal
如果误删除的数据位于系统盘，且一直有业务进程或系统进程在写入文件，则可能无法通过此方法进行恢复。
为了提高数据安全性，建议您通过[创建快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)、[创建私有镜像](https://support.huaweicloud.com/usermanual-ims/zh-cn_topic_0013901628.html)、[创建云硬盘备份](https://support.huaweicloud.com/qs-cbr/cbr_02_0029.html)等方式定期进行数据备份。
本文以操作系统为CentOS 7.5的云服务器为例，介绍如何使用开源工具Extundelete快速恢复被误删除的数据。
#### 前提条件
在执行数据恢复操作前，请完成以下准备工作：
- 参考[创建快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)或[创建私有镜像](https://support.huaweicloud.com/usermanual-ims/zh-cn_topic_0013901628.html)完成数据备份，以确保数据恢复出现问题时可恢复至初始状态。
- 停止相关业务程序继续写数据到该文件系统。若需执行恢复操作的为数据盘，则可先对数据盘执行umount操作。
 
#### 实施步骤
1. 安装Extundelete。 
   1. 登录弹性云服务器。
   
   
   
   2. 依次执行以下命令，安装 Extundelete 所需依赖及库。
      ```
      yum install libcom_err e2fsprogs-devel
      yum install gcc gcc-c++
      ```
      
   
   3. 在出现如下提示时，输入"**y** "。
      ```
      Installed size: 25 M
      Is this OK [y/d/N]: y
      ```
      
   
   4. 执行以下命令，[下载](https://github.com/curu/extundelete/archive/refs/tags/v1.0.tar.gz) Extundelete 源码。
      ```
      wget https://github.com/curu/extundelete/archive/refs/tags/v1.0.tar.gz
      ```
      
   
   5. 执行以下命令，解压 v1.0.tar.gz 文件。
      ```
      tar  xf v1.0.tar.gz
      ```
      
   
   6. 依次执行以下命令，进行编译安装。
      ```
      cd extundelete-1.0
      ./configure
      make
      ```
      
   
   7. 执行以下命令，进入 src 目录，可查看已编译好的 Extundelete 文件。
      ```
      cd ./src
      ```
      
   
   
   
   
2. 执行以下命令，尝试恢复数据。 
   ```
   ./extundelete  --restore-all  /dev/对应盘
   ```
   恢复后的文件位于同级目录的"RECOVERED_FILES"文件夹下。
   
   
 
