文档首页/ 弹性云服务器 ECS/ 最佳实践/ 搭建应用/ 通过Extundelete恢复弹性云服务器误删除数据(Linux)
更新时间:2024-07-18 GMT+08:00
分享

通过Extundelete恢复弹性云服务器误删除数据(Linux)

应用场景

Extundelete是一款文件恢复工具,支持恢复ext3及ext4文件系统类型的误删除文件。

误删除文件的恢复程度与如下因素有关:

  • 文件删除后是否被写覆盖
  • 元数据是否存留在journal

如果误删除的数据位于系统盘,且一直有业务进程或系统进程在写入文件,则可能无法通过此方法进行恢复。

为了提高数据安全性,建议您通过创建快照创建私有镜像创建云硬盘备份等方式定期进行数据备份。

本文以操作系统为CentOS 7.5的云服务器为例,介绍如何使用开源工具Extundelete快速恢复被误删除的数据。

前提条件

在执行数据恢复操作前,请完成以下准备工作:

  • 参考创建快照创建私有镜像完成数据备份,以确保数据恢复出现问题时可恢复至初始状态。
  • 停止相关业务程序继续写数据到该文件系统。若需执行恢复操作的为数据盘,则可先对数据盘执行umount操作。

实施步骤

  1. 安装Extundelete。

    1. 登录弹性云服务器。
    1. 依次执行以下命令,安装 Extundelete 所需依赖及库。

      yum install libcom_err e2fsprogs-devel

      yum install gcc gcc-c++

    2. 在出现如下提示时,输入“y”。
      Installed size: 25 M
      Is this OK [y/d/N]: y
    3. 执行以下命令,下载 Extundelete 源码。

      wget https://github.com/curu/extundelete/archive/refs/tags/v1.0.tar.gz

    4. 执行以下命令,解压 v1.0.tar.gz 文件。

      tar xf v1.0.tar.gz

    5. 依次执行以下命令,进行编译安装。

      cd extundelete-1.0

      ./configure

      make

    6. 执行以下命令,进入 src 目录,可查看已编译好的 Extundelete 文件。

      cd ./src

  2. 执行以下命令,尝试恢复数据。

    ./extundelete --restore-all /dev/对应盘

    恢复后的文件位于同级目录的“RECOVERED_FILES”文件夹下。

相关文档