让您的网络
从此牛起来
当前位置: 网站首页 > SEO优化 > 云服务器 >

阿里云服务器误删文件后如何恢复数据

发表日期:2018-07-04 08:44 作者来源:爱牛网络 浏览次数:

在日常使用中有时难免会出现数据被误删除的情况,在这个时候该如何快速、有效地恢复数据呢?在阿里云上恢复数据有多种方式,例如:

  • 通过阿里云控制台回滚备份好的快照,自定义镜像恢复等方式。

  • 购买多台ECS,实现业务的负载均衡,高可用。

  • 利用对象存储 OSS(Object Storage Service),存储静态网页和海量图片、视频等重要数据。

本文档主要以CentOS7操作系统为例,介绍如何使用开源工具Extundelete快速恢复被误删除掉的数据。

在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大。

Extundelete是基于linux的开源数据恢复软件。在使用阿里云的云服务器时,如果您不小心误删除数据,并且Linux系统也没有与Windows系统下回收站类似的功能,您可以方便快速安装此工具。

Extundelete能够利用inode信息结合日志去查询该inode所在的block位置,以次来查找和恢复所需的数据,该工具最给力的一点就是支持ext3/ext4双格式分区恢复,基于整个磁盘的恢复功能较为强大。

注意事项

在数据被误删除后,第一时间要做的是卸载被删除数据所在的磁盘或磁盘分区。因为将文件删除后,仅仅是将文件的inode结点中的扇区指针清零,实际文件还存储在磁盘上,如果磁盘以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据块被新的数据覆盖后,这些数据就真的丢失了,恢复工具也回力无天。所以,以只读模式挂载磁盘可以尽量降低数据块中数据被覆盖的风险,以提高恢复数据成功的几率。

注:在实际线上恢复过程中,切勿将extundelete安装到您误删的文件所在硬盘,这样会有一定几率将需要恢复的数据彻底覆盖,切记操作前做好快照备份。

适用对象

  • 磁盘中文件误删除的用户,且未对磁盘进行过写入等操作

  • 网站访问量小、少量 ECS 实例的用户

使用方法

需安装的软件及版本:e2fsprogs-devel e2fsprogs gcc-c++ make(编译器等)Extundelete-0.2.4

注:extundelete需要libext2fs版本1.39或更高版本来运行,但是对于ext4支持,请确保您有e2fsprogs版本1.41或更新版本(可以通过运行命令“dumpe2fs”并记录其输出的版本)

说明:以上版本是写文档时的软件版本。您下载的版本可能与此不同。

部署extundelete工具

  1. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
  2. yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make #安装相关依赖和库
  3. tar -xvjf extundelete-0.2.4.tar.bz2
  4. cd extundelete-0.2.4 #进入程序目录
  5. ./configure #如下图表示安装成功

1

  1. make && make install

这个时候会出现src目录,下面有个extundelete可执行文件以及相应路径,如下图,其实默认文件安装在usr/local/bin下面,下面演示就在usr/local/bin目录下。

2

使用extundelete,模拟数据误删除然后恢复的过程

1.检查ECS现有的磁盘和可用分区,并对/dev/vdb进行分区,格式化,此处不在介绍磁盘分区格式化方式,如果不会的话可以点击此文档查看操作方式“格式化和挂载数据盘”。

  1. fdisk -l

3

2.将分区后的磁盘挂载到/zhuyun目录下,然后在/zhuyun下面新建测试文件hello,写入test。

  1. mkdir /zhuyun #新建zhuyun目录
  2. mount /dev/vdb1 /zhuyun #将磁盘挂载到zhuyun目录下
  3. echo test > hello #写入测试文件

3.记录文件MD5值,md5sum命令用于生成和校验删除前和恢复后俩个文件的md5值。

  1. md5sum hello

4444

4.模拟删除hello文件。

  1. rm -rf hello
  2. cd ~
  3. fuser -k /zhuyun #结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)

5.卸载数据盘。

  1. umount /dev/vdb1 #任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用

6.使用Extundelete工具恢复文件。

  1. extundelete --inode 2 /dev/vdb1 #为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode

55


  1. /usr/local/bin/extundelete --restore-inode 12 /dev/vdb1 #恢复删除的文件

这个时候会在执行命令的同级目录下出现RECOVERED_FILES目录,查看是否恢复。

6

通过md5值查看,前后俩个文件,一样说明恢复成功。

注:

  1. --restore-inode 12 # --restore-inode 按指定的I节点恢复
  2. --extundelete --restore-all # --restore-all 全部恢复
如没特殊注明,文章均为爱牛网络原创,转载请注明来自https://www.cngin.com/a/ecs/87.html

相关网站设计案例

相关推荐新闻

医疗机构公司网站如何做

爱牛北京seo优化公司认为,不同类型的网站适用的优化技术不尽相同。医疗网站的特殊性导致优化难度更高,本...

日期:2018-06-23 浏览次数:191

织梦dedecms后台系统基本参

织梦dedecms后台系统基本参数设置-附件设置【帮助中心-安装使用】 缩略图默认宽度(cfg_ddimg_width):系统上传...

日期:2018-06-29 浏览次数:198

阿里云服务器Linux实例带宽

使用云服务器 ECS 时,若出现服务的速度变慢,或 ECS 实例突然断开,可以考虑服务器带宽和 CPU 是否有跑满或跑...

日期:2018-06-29 浏览次数:189

阿里云ecs服务器网络异常

如果源服务器访问目标服务器出现异常,而且参阅文档 ping丢包或不通时链路测试说明 和 能ping通但端口不通时...

日期:2018-07-02 浏览次数:199

阿里云服务器如何添加安

您可以添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问: VPC网络:只需要设置出方向或入...

日期:2018-07-03 浏览次数:198

阿里云服务器TCP 25端口解

出于安全考虑,阿里云默认封禁TCP 25端口出方向的访问流量,即你无法在阿里云上的云服务器通过TCP 25端口连接...

日期:2018-07-03 浏览次数:197

阿里云ECS服务器Windows实例

在处理磁盘相关问题时,您可能会碰到操作系统中数据盘分区丢失的情况。本文介绍了Windows系统下常见的数据...

日期:2018-07-04 浏览次数:191

织梦Dedecms文件目录结构全

鉴于很多新手朋友不知道织梦很多目录和文件具体有何作用,而现互联网亦没有相对全面的dedecms文件目录解说...

日期:2018-07-05 浏览次数:193