• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 程序设计
  • 信息安全
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >RedHat/Centos > CentOS系统下尝试恢复被删除的文件的方法集锦

CentOS系统下尝试恢复被删除的文件的方法集锦

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了centos win7双系统,centos系统,centos系统下载,centos系统使用教程,centos系统安装教程等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖

背景说明:今天同事在用ftp更新网站内容是,将原来文件夹重命名以备份,再上传文件,上传完成后测试网站可以访问就将备份删除(脑袋抽筋了),结果发现备份中最重要的一个图片文件夹被删除,而上传的只是程序文件,导致所有图片丢失。

找回办法如下:

1、尝试方法一:debugfs
用debugfs工具,可以看到删除的列表,但没有找到批量恢复文件的办法(丢失的文件有1万多),可能是我方法不对。对于单个文件,debugfs是可以很方便恢复的。

大多数Linux发行版都提供一个debugfs工具,可以用来对Ext3文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。

  首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区)

  

  如果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。如果机器上有dos/windows,可以写到这些分区上面:
 

#debugfs /dev/hda5</p> <p>  就会出现debugfs提示符debugfs:</p> <p>  使用lsdel命令可以列出很多被删除的文件的信息:</p> <p>  debugfs:lsdel</p> <p>  debugfs: 2692 deleted inodes found.</p> <p>  Inode Owner Mode Size Blocks Time deleted</p> <p>  164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001</p> <p>  …………………………………………………………………………………</p> <p>  36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001</p> <p>  196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001</p> <p>  debugfs:
</div>
  列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:

  可以先看看文件数据状态:

  

debugfs:stat <196829></p> <p>  Inode: 196829 Type: regular Mode: 0644 Flags: 0×0 Version: 1</p> <p>  User: 0 Group: 0 Size: 149500</p> <p>  File ACL: 0 Directory ACL: 0</p> <p>  Links: 0 Blockcount: 38</p> <p>  Fragment: Address: 0 Number: 0 Size: 0</p> <p>  ctime: 0x31a9a574 — Mon May 27 13:52:04 2001</p> <p>  atime: 0x31a21dd1 — Tue May 21 20:47:29 2001</p> <p>  mtime: 0x313bf4d7 — Tue Mar 5 08:01:27 2001</p> <p>  dtime: 0x31a9a574 — Mon May 27 13:52:04 2001</p> <p>  BLOCKS:</p> <p>  594810 594811 594814 594815 594816 594817 ………………………………….</p> <p>  TOTAL: 38
</div>
  然后就可以用dump指令恢复文件:
 

debugfs:mi</p> <p>  Mode [0100644]</p> <p>  User ID [0]</p> <p>  Group ID [0]</p> <p>  Size [149500]</p> <p>  Creation time [0x31a9a574]</p> <p>  Modification time [0x31a9a574]</p> <p>  Access time [0x31a21dd1]</p> <p>  Deletion time [0x31a9a574] 0</p> <p>  Link count [0] 1</p> <p>  Block count [38]</p> <p>  File flags [0x0]</p> <p>  Reserved1 [0]</p> <p>  File acl [0]</p> <p>  Directory acl [0]</p> <p>  Fragment address [0]</p> <p>  Fragment number [0]</p> <p>  Fragment size [0]</p> <p>  Direct Block #0 [594810]</p> <p>  …………………………….</p> <p>  Triple Indirect Block [0]
</div>
  使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time改成0(未删除),Link count改成1。改好后退出debugfs:
  

另外debugfs不适合恢复大文件。

2、尝试方法二、foremost
foremost是很不错的软件,非常简单,一个命令就恢复了所有图片,但是文件名却丢失了,那么多图片如何恢复名字,没有找到好的办法。同上面debugfs一样,如果是单个文件,或者知道文件名字,这个方法是可以的。但文件量过大,且必须恢复文件名,此方法则不行。

基本使用办法如下:

下载并编译安装 foremost:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • CentOS下的系统负荷详解
  • CentOS系统中跟踪高IO等待详解
  • CentOS系统中的文件管理技巧详解
  • CentOS中如何设置系统级代理?CentOS中设置系统级代理的方法
  • CentOS系统如何启动流程?CentOS系统启动流程的图文教程
  • CentOS系统下安装转PDF和SWF环境
  • CentOS系统基础优化知识汇总
  • CentOS系统下尝试恢复被删除的文件的方法集锦
  • CentOS系统恢复误删除文件的方法
  • CentOS 6.2系统安装和基本软件环境配置

相关文章

  • 2017-05-12centos7修改主机名方法
  • 2017-05-12CentOS下邮件服务sendmail的安装及简单配置
  • 2017-05-12CentOS安装YCM的方法
  • 2017-05-12Centos下限制SSH登录次数详解
  • 2017-05-12如何重置CentOS 7的Root密码?设置CentOS 7的Root密码的方法与步骤
  • 2017-05-12进入CentOS字符界面及窗口模式的方法
  • 2017-05-12yum和apt-get的区别详解
  • 2017-05-12Centos 安装及配置OpenNMS以及opennms介绍和配置图文教程
  • 2017-05-12wdlinux_lnmp的服务器安装图文教程
  • 2017-05-12linux内容批量替换的命令

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • CentOS安装YCM的方法
    • linux设置iptables防火墙的详细步骤(centos防火墙设置方法)
    • Centos如何获取软件包?Centos获取软件包的方法
    • CentOS常用网络设置详解
    • centos7怎么安装 centos7安装步骤
    • 图文详解CentOS系统的安装过程
    • Centos6.7怎么开启sshd服务?
    • CentOS 7.1如何添加删除用户?CentOS 7.1添加删除用户的方法
    • Centos中如何临时禁用用户?Centos中临时禁用用户的方法
    • CentOS安装jdk 1.6教程

关于我们 - 联系我们 - 免责声明 - 网站地图 - 投诉建议

©CopyRight 2015-2017 www.weikejianghu.com Inc All Rights Reserved. 微课江湖 版权所有