zoukankan      html  css  js  c++  java
  • Linux下常用的数据恢复工具

    一。数据删除

    命令:rm -rf,将任何数据直接从硬盘删除,且没有任何提示

    建议做法:

    • 把命令参数放到后面:rm -rfi
    • 将删除的东西通过mv命令移动到系统下的/temp目录下,然后写个脚 本定期执行清除操作
    • 备份

    二。extundelete的安装与使用

    Linux下常见的基于开源的数据恢复工具有:debugfs/R-Linux/ext3grep/extundelete

    1.恢复原理:三步

    • extundelete恢复文件并不依赖特定的文件格式,首先extundelete会通过文件系统的incode信息(可通过 ls -id / 查看;根目录的incode一般为2)来获得当前文件系统下所有文件的信息(包括文件名和incode,包括已删除的文件)。
    • 然后利用incode信息结合日志去查询该incode所在块位置,包括直接块/间接块等信息。
    • 最后利用dd命令将这些信息备份出来,从而恢复数据文件

    2.安装(介绍编译安装)

    • 安装前需安装e2fsprogs和e2fsprogs-libs两个依赖包
    • 下载extundelete(.tar.bz2)结尾的文件,假设为0.2.4版本
    • 解压:tar jxvf extundelete-0.2.4.tar.bz2
    • cd extundelete-0.2.4
    • ./configure
    • make
    • make install

    3.用法

    命令格式:extundelete [optons] [action] device-file

    [option]参数:

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

    [action]动作参数:

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

    4.注意

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

    原因:文件删除后,仅仅是将文件的incode中的扇区指针清零,实际文件还在。如果磁盘以读写械挂载,这些已删除文件的数据块就可能被操作系统重新分配出去,在这些数据块被新的数据覆盖后,这些数据就真丢失了。所以以只读模式挂载可以尽量降低数据块中数据被覆盖的风险。

  • 相关阅读:
    小四学习系列教程
    SQL分组多列统计(GROUP BY后按条件分列统计) -转
    fdisk:command not found
    PWA最简单例子
    Rider 2017.1.1下跑AVD出现Unexpected schema version 3错误的解决方法
    困扰:C#.net 连接Oracle11g 不报错但是在connection时出现 ServerVersion 引发了“System.InvalidOperationException”类型的异常
    JQuery EasyUI datagrid 复杂表头处理
    sql server 与oracle 中字段类型的对应
    Oracle 11g导出空表、少表的解决办法
    JS组件系列——两种bootstrap multiselect组件大比拼
  • 原文地址:https://www.cnblogs.com/huguangqin/p/7137673.html
Copyright © 2011-2022 走看看