转载于互联网并适当的修改

误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~

说在前面的话

针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻回,要知道linux文件修复比较费劲,网络上面的文档也是五花八门。所以本次研究一种比较靠谱的文件和目录恢复方法,也给维护人员留一条后路。

分析对比debugfs. testdisk 6.14. extundelete,对比各自官网介绍和操作说明本次决定研究extundelete对文件和目录的恢复操作。

extundelete下载官网地址:

Linux下文件误删除,使用extundelete恢复测试过程

给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下:

格式化磁盘,并进行挂载

# mkfs.ext4 /dev/sdb# mkdir /usr/local/dbdata/# mount /dev/sdb /usr/local/dbdata/

测试误操作删除以下文件

/usr/local/dbdata/gperftools-2.4.tar.gz #文件/usr/local/dbdata/pcre-8.32 #目录

执行误操作:

# rm -rf /usr/local/dbdata/gperftools-2.4.tar.gz /usr/local/dbdata/pcre-8.32

将误操作所在分区进行只读保护

如果确定文件被误删,在没有备份的情况下请马上对分区实施写入保护(预防新的写入覆盖误删的块数据,因此权限给只读):

# mount -o remount,ro /dev/sdb # mount -o remount,ro /usr/local/dbdata/

数据恢复工具安装

工具安装部署

官方网站是 ,其目前的稳定版本是extundelete-0.2.4.

工具下载

# wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

解压安装

依赖包

# yum -y install gcc-c++ e2fsprogs.x86_64 e2fsprogs-devel.x86_64# tar -jxvf extundelete-0.2.4.tar.bz2# cd extundelete-0.2.4# ./configure# make && make install

验证安装结果

# extundelete -v

文件恢复过程

恢复指定文件:

原理:从根节点(inode=2)开始找到被删除文件的i节点,然后recover i节点。

以下是模拟删除gperftools-2.4.tar.gz(文件)和pcre-8.32 (目录)

先检测被删除的文件有哪些:

# extundelete /dev/sdb --inode 2

从圈出来的可以看到,有以下两个

gperftools-2.4.tar.gz 15 Deletedpcre-8.32 655361 Deleted

注意:恢复过程不要在误删分区进行,谨防inode. block块相互覆盖

先恢复文件(可根据文件名进行恢复):

# extundelete /dev/sdb --restore-file gperftools-2.4.tar.gz

恢复目录(根据目录名恢复):

# extundelete /dev/sdb --restore-directory pcre-8.32

最后会在当前目录下看到一个名为RECOVERED_FILES的目录,在目录里就可以看到被误删除的文件以及目录:

说在后面的话

根据上面操作证明extundelete 工具可以实现对误删数据的恢复,而且操作简单。

总结:

1、建议使用ext3的文件系统,当前extundelete 对ext4支持不是很好

2、删除文件时不要带r  如:rm-rf ,删除目录时不要带f 如rm -rf . 恢复才会准确

3、删除建议卸载挂载,,,不建议使用只读

4、使用rm一定要谨慎

5、磁盘按照功能进行分区是必要的

6、最少掌握一种数据恢复方式

linux误删除 dev disk文件,误删除 linux 系统文件了?这个方法教你解决相关推荐

  1. 安装linux修复系统文件夹,误删除 Linux 系统文件了?这个方法教你解决

    误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题.方法总比问题多~ 说在前面的话 针对日常维护操作,难免会出现文件误删除的操作.大家熟知lin ...

  2. 误删除 linux 系统文件了?这个方法教你解决

    误删除 linux 系统文件了?这个方法教你解决 参考文章: (1)误删除 linux 系统文件了?这个方法教你解决 (2)https://www.cnblogs.com/cheyunhua/p/10 ...

  3. 利用linux的/dev/urandom文件产生较好的随机数

    很多朋友经常用srand/rand产生随机数, 其实这种随机性并不好, 容易遭受攻击(很多时候, 也满足不了需求). 在本文中, 我们来简要介绍一下利用linux的/dev/urandom文件产生较好 ...

  4. linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  5. linux ssh怎样删除文件夹,Linux服务器一键删除文件夹SSH命令

    Linux服务器管理不像Windows服务器管理那么方便,当然Linux也可以直观可视化操作,本人习惯使用SSH命令管理操作,常常会碰到网站产生 大量垃圾文件的苦恼,直接登录FTP删除的话,曾经试过删 ...

  6. 计算机不能再U盘新建文件夹,U盘无法建立新的文件夹?!三种小方法教你解决...

    原标题:U盘无法建立新的文件夹?!三种小方法教你解决 U盘是现代人常用的移动存储设备之一,特点是小巧易携带,容量大,因此深得用户喜欢.但是这小小的U盘一旦出现故障,就让人有点难以招架了,U盘不比电脑, ...

  7. linux 删除含有关键词的文件_误删除Linux系统文件了?这个方法教你解决

    本文来自 运维人生 ,作者:fly是个稻草人 链接:http://www.ywadmin.com/?id=76 误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对 ...

  8. 麒麟Linux强制修改只读文件,麒麟Linux系统文件权限管理和归属(12页)-原创力文档...

    中标麒麟Linux服务器操作系统培训系列 麒麟Linux系统文件权限管理和归属 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统文件类型.权 限的概念 •掌握文件权限和属主的设置方 ...

  9. linux /dev/disk/by-path 修改,Linux磁盘分区

    一.fdisk分区 第一步:查看机器所有磁盘 执行命令:ll /dev/disk/by-path image.png 第二步:格式化硬盘 执行命令:fdisk /dev/sdc p:查看当前磁盘的分区 ...

最新文章

  1. Android 模拟机自定义屏幕的尺寸
  2. HTML中div标签的一个简单的使用和介绍
  3. mysql主从同步主服务器热切换
  4. 个人的web开发心得(八)----------非常适合入门新手,都是常识
  5. 关于深度学习,这些知识点你需要了解一下
  6. jQuery学习笔记(二)
  7. Linux安装JDK1.6 rpm.bin格式的安装配置
  8. VS2012统计代码量
  9. linux内核sysfs详解【转】
  10. 网站成功的三十三个法则
  11. python实现基于 Adaboost 框架来构建自定义集成模型【自定义基分类器模型】
  12. 【JavaEE】ch09-反射
  13. ESP8266的AT指令集(基础 Wi-Fi)
  14. 30 系列显卡是新一代架构,新驱动不支持 cuda 9 以及 cuda 10,所以必须安装 cuda 11
  15. php tpshop,TPshop是什么意思?
  16. pip20恢复官方源出现bug:confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org‘, port=443)
  17. 回首2018,展望2019 | 掘金年度征文
  18. 《iVX 高仿美团APP制作移动端完整项目》05 美食页商家推荐内容、分类、推荐商家制作
  19. RuntimeError: stack expects each tensor to be equal size, but got xxx at entry 0 at entry 1
  20. 深度学习方法在负荷预测中的应用综述(论文阅读)

热门文章

  1. Windows下设置开机自启动的方式(手动/C++代码的形式)
  2. ASN.1编解码:ORAN-E2AP分析
  3. Linux网络协议栈:NAPI机制与处理流程分析(图解)
  4. 2020.02.04 14:30
  5. 13 个开源备份解决方案
  6. python字典(一)
  7. MIME媒体类型:简介,作用(描述并标记多媒体内容),示例
  8. flask的janja模板
  9. android高级资料
  10. 服务器块格式不正确的是什么,c#-服务器标签格式不正确.(databinder.eval)