作者:wzlinux

来源:http://blog.51cto.com/wzlinux/2052835

原标题:我把Linux系统上面误删的数据找回来了

背景

突发事件,应用上传的数据被程序自动删掉了,可悲的是还没有数据备份,数据是放在系统的 /data/webapps/xxxx/upload 目录下面,可把我们急坏了,之前又没有做过数据恢复的测试,然后我找到了一款数据恢复的软件,成功把删除的大部分数据找回来了,我的数据恢复过程如下。

安装恢复软件

1、epel 仓库安装

如果我们的源里面添加了 epel 仓库的话,我们可以直接使用下面的命令安装。

2、源码编译安装

删除数据查找

因为我的数据路径比较深,所以我们需要一步步查找,可以先从根分区 inode 查找

我们会看到 weapps 目录的inode,

我们看到项目的 inode,

我们找到了最终删除数据的目录 upload

我们可以看到标称的 Deleted,这些数据就是我们要进行恢复的数据。

数据恢复

那我们就恢复指定目录,以当前分区为根分区进行路径设定,项目名进行掩盖

因为磁盘数据一直在读写,所以有些文件之前的 inode 已经被重新分配了,导致部分数据无法恢复,数据最后会告诉我们有多少文件没有回复,但是大部分数据我们已经恢复了,这就是很重要的事情了。

那我们查看一下回复的数据吧,软件会在当前目录生成一个目录RECOVERED_FILES 里面就是我们恢复的数据。

恢复全部数据可以使用命令

使用方法


extundelete --help

其中,参数(options)有:
--version, -[vV],显示软件版本号。
--help,显示软件帮助信息。
--superblock,显示超级块信息。
--journal,显示日志信息。
--after dtime,时间参数,表示在某段时间之后被删的文件或目录。
--before dtime,时间参数,表示在某段时间之前被删的文件或目录。

动作(action)有:
--inode ino,显示节点“ino”的信息。
--block blk,显示数据块“blk”的信息。
--restore-inode ino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。
--restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。
--restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。
--restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。
-j journal,表示从已经命名的文件中读取扩展日志。
-b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件。
-B blocksize,通过指定数据块大小来打开文件系统,一般用于查看已经知道大小的文件。

在数据删除之后,首先要卸载被删除数据所在的磁盘或是分区,如果是系统根分区遭到误删除,就需要进入单用户模式下,将根分区以只读的方式挂载。

原因:因为文件删除之后,仅仅是将文件的inode节点中的扇区指针清零,实际上文件还存在磁盘上面,如果磁盘以读写方式挂载,这些删除的数据块可能会被系统从新分配出去,这些数据块被覆盖之后,这些数据就真的丢失了,所以以只读的方式挂载,尽可能避免数据被覆盖。

看完这一篇,运维误删后再也不用跑路了相关推荐

  1. 看完华为这篇面经,我再也不用担心面试了(应届生)

    第一轮 专业面 一对一的专业面,面试官都不是HR,应该部门经理级别的人吧,所以问的问题还是侧重专业的.面试官面完一个人就出来喊另外一个人进去面试,面完好几个人之后,HR就过来给大家念名单,有些人就是叫 ...

  2. 数据库误删了数据再也不用跑路了,

    USE master GO --创建数据库 CREATE DATABASE test GO USE [test] GO --创建表 CREATE TABLE [dbo].[aa](     [id] ...

  3. 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解

    一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解 "如果你是一个经验丰富的运维开发人员,那么你一定知道ganglia.nagios.zabbix.elastics ...

  4. 别在问PMP和ACP哪个更有用了,看完这一篇你就知道!

    别在问PMP和ACP哪个更有用了,看完这一篇你就知道. 老原很多粉丝和学员在我的后台问我: 要不要考PMP和ACP? PMP和ACP的区别是啥? PMP.ACP证书考哪个更有用?还是两个都考? PMP ...

  5. 分享一波关于做Kaggle比赛,Jdata,天池的经验,看完我这篇就够了。

    @Author : Jasperyang @School : BUPT 这篇文章同时在知乎里放着- 写在前面 Kaggle的数据挖掘比赛近年来很火,以至于中国兴起了很多很多类似的比赛,做了两个这种类型 ...

  6. 计算机进制转换(看完这一篇你就全懂了)—基础篇

    我相信很多人都学过进制的转换,但是总是转不过来,你只需要看完这一篇,你对进制的理解与转换一定会很熟练. 众所周知计算机只能识别0和1,其他的文字.数字.字符只能通过转换成进制,然后让计算机识别,并显示 ...

  7. 运维工程师打怪升级进阶之路 V2.0

    很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是有经验的职场运维工程师们,都反馈此系列文章非常不错! 命名:<运维工程师打怪升级之路> 版本:V1.0 ...

  8. GitChat · 运维 | 携程运维工作流平台的演进之路

    GitChat 作者:徐豪杰 原文: 携程运维工作流平台的演进之路 关注微信公众号:GitChat 技术杂谈 ,一本正经的讲技术 [不要错过文末活动] 前言 随着互联网技术的迅速发展,运维的事务也日益 ...

  9. Python入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    前言 本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开. 第一章:python基础之markdown Typora软件下载 Typora基本使用 Typora补充说明 编 ...

  10. 网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇就够了!

    想要成为黑客/红客,却苦于没有方向,不知道从何学起,下面这篇网络安全入门教程可以帮你实现自己的黑客梦想,如果想学,可以继续看下去,文章有点长,希望你可以耐心看到最后 网络安全入门路线 Web安全相关概 ...

最新文章

  1. JAXB,SAX,DOM性能
  2. 为什么直接ping知乎的ip不能访问知乎的网站,而百度就可以?
  3. mysql 分组后取每个组内最新的一条数据
  4. uoni扫地机器人好用吗_抖音走红的日本uoni尤利扫地机器人好吗?体验感如何?...
  5. 基于GPU的粒子系统
  6. (转)tomcat配置访问项目时不需要加项目名称
  7. 年终了,看雪给努力又认真的你颁奖!
  8. 《圈圈教你玩USB》 第三章 USB鼠标的实现——看书笔记( 3 )
  9. 设计模式分类以及六大设计原则(汇总篇)
  10. VMware安装统信UOS
  11. SSM框架集合(2021)基础使用
  12. Docker安装ElasticSearch 版本7.6.2
  13. 106、七氟丙烷灭火系统的灭火机理
  14. 拥有火绒后关闭Windows防火墙
  15. 编写程序,由键盘输入三个整数分别存入变量num1,num2,num3中,对它们进行排序, 使用if-else结构,并按从小到大的顺序输出
  16. 抱薪者说 | 卫斯理:出发,从“好玩”开始
  17. Android Studio导入工程项目一直处于gradle....而且一直卡在这个页面
  18. python获取时间戳算法_Python 获取时间,时间戳,时间差
  19. 大数据全网最佳学习路线总结,不看肯定后悔
  20. MBA-day2数学-应用题-比例问题

热门文章

  1. java设计模式案例详解:观察者模式
  2. Excel中的常用快捷键
  3. linux管道学习资料
  4. 如何在Mac上组合歌曲?
  5. 如何设置 Excel 文件打印时刚好是一页的宽度?让打印范围刚好是一页纸
  6. iOS开发警告The image set name xxx is used by multiple image sets.
  7. Java 集合系列09之 Map架构
  8. 在Node.js中发起HTTP请求的5种方法
  9. Ubuntu 下 matplotlib 中文乱码
  10. 面向业务的企业元数据管理