1、  Linux运维人员学会备份至关重要

删除文件恢复

第一种情况:

当前系统有多个用户,其中一个用户对文件进行修改,则另一个用户对文件进行了删除操作,那么,这时候如何进行操作?

解决方法:

通过文件打开的PID以及打开文件的文件句柄

lsof | grep –i delete

cp /proc/file_pid/fd/句柄   /path/file_name

删除以后不要再对磁盘进行任何操作 以免恢复不可逆

1.  在linux打开一个文件有一个对应的文件进程id生成在proc下面   只要进程id存在 即使文件被删除我们根据进程id就可以恢复

实验: 启用两个登录 并都是root用户登录

Cp /etc/issue .  此时的点表示当前目录 将etc下的issue文件复制到当前目录

用户1:cat >> issue    并输入this is test

用户2: rm –rf issue

ls查看是否被删除

lsof –i |grepdelete   Lsof查看进程号  lsof | grep –i delete  查看我后端有哪些文件被删除

cd /proc/2747/fd/

cp  1 /tmp/issue  复制后并查看cat/tmp/issue  此时的1为上一命令的句柄

解释: cat说明是一个命令   2747是pid    root用户操作的

1w 打开文件进程它所使用的一个文件句柄  根据这个恢复

最后面字段的意思  我打开一个文件 状态是deleted状态  但是有进程存在

第二种情况:

当前系统只有一个用户在登录,对文件进行了误删除操作,那么这个时候如何进行操作 前提该文件系统为日志文件系统

注意事项以及解决思路:

1. 停止对当前分区做任何操作 防止其他文件把删除文件的inode值覆盖

2. 通过dd命令对当前分区进行备份,防止通过第三方软件恢复失败,造成数据的丢失

dd if=/path/filename  of=/dev/sdb1

3.  通过umount对当前设备分区基于卸载 umount /dev/sda  or umount /mount_point

4.  下载并安装第三方开源工具,进行对丢失的文件进行搜索并进行还原

5.

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

6. 编译安装  安装此软件时必须安装依赖的库文件  yum install e2fsprogs*  -y

对源码包解压

相应的命令进行对源码文件配置属性 ./configure or cmake(对mysql编译的时候用的到)

make && make install  编译以及编译安装

extundelete相关命令安装成功后然后利用这个命令对我们丢失文件所在的目录或者设备进行全文搜索

1.  extundelete –node 2/dev/sdb1

2.  extundelete –restore-inodeinode /dev/sdb1

3.  extundelete –restore-all  /dev/sdb1

4.  文件目录 时间  extundelete --help

实验:

1.  建立一单独的分区为日志文件系统 并挂载

blkid /dev/sdb1 查看是否为日志文件系统

mount /dev/sdb1/root/test

2.  mkdir /root/test/test_directory –p

cp/etc/passwd  /etc/issue  /etc/inittab .  复制三个文件到test_directory目录

rm –rf  test_directory/

umount /dev/sdb1

3. wget  http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

tar–jxf  *****.bz2

安装之前安装依赖包yuminstall e2fsprogs*  -y

make时候提示 以下警告忽略

4.安装成功后

1.  extundelete –node 2/dev/sdb1

2.  extundelete –restore-inodeinode /dev/sdb1  恢复特定inode号文件

3. extundelete –restore-all /dev/sdb1 恢复所有文件

恢复后为 挂载

mount /dev/sdb1  /root/test

将一下三个文件拷贝到原有文件系统sdb1

转载于:https://blog.51cto.com/beautifual/1603271

linux文件删除恢复相关推荐

  1. linux 文件删除恢复

    恢复删除的文件 当Linux计算机受到***时,常见的情况是日志文件被删除,以掩盖***者的踪迹.管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志.有时可以通 ...

  2. linux文件回收站恢复,Linux之恢复误删的文件[针对丢弃到回收站]

    linux下恢复误删除的文件方法(ext2及ext3) linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直 ...

  3. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  4. linux文件删除机制,Linux 文件删除机制

    Linux 是通过 link 的数量来控制文件删除,只有当一个文件不存在任何 link 的时候,这个文件才会被删除.每个文件都有 2 个 link 计数器-- i_count 和 i_nlink.i_ ...

  5. Linux文件删除原理

    Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来说,每个文件都有2个link计数器:i_count 和 i_nlink. i_coun ...

  6. Linux文件删除但空间不释放问题篇

    通常报磁盘不足的错误,有两个原因: •磁盘空间满:可以通过df -h命令查看磁盘的使用情况. •磁盘inode资源占用完:可以通过df -i命令查看,确认inode节点使用率: 如果是inode资源占 ...

  7. linux压缩文件恢复,Linux文件误删恢复

    实验要求: 对新建磁盘sdb1中删除的文件进行恢复 实验步骤: 一.安装环境包 rpm -ivh /mnt/Packages/e2fsprogs-libs-1.41.12-18.el6.x86_64. ...

  8. ORACLE实例控制文件删除恢复,Oracle案例:损坏控制文件的恢复方法

    一: 损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了. 1.控制文件损坏, ...

  9. u盘文件删除恢复,数据恢复软件真的好用吗

    u盘是被我们广泛使用的一种数据存储设备,但在日常使用过程中很容易发生误删除.误格式化或者u盘损坏等状况,这时候就面临u盘文件恢复的问题,其实以现在的数据恢复能力,u盘文件是可以恢复的. u盘文件删除后 ...

最新文章

  1. 视屏接口系列(一 ) ----------VGA(对与数信号显示器要加载A/D,延时拖尾、质量下降)...
  2. Linux 系统双网卡绑定 bond的7种模式
  3. 【TensorFlow官方文档】MNIST机器学习入门
  4. swift button一些简单设置
  5. 运维人员mysql如何访问_mysql 运维常见操作
  6. 初识空中计算(Over-the-Air Computation)
  7. oracle operation_type,oracle静默安装
  8. IE, Firefox, Chrome共同的保存图片bug? 求助。
  9. vue add element报错_Vue 源码解析 -- new Vue -gt; mountComponent 001
  10. POJ3069 Saruman's Army【贪心】
  11. 超好用的开源 IP 地址管理系统,告别传统 Excel 统计方式!
  12. APP性能测试-FPS测试
  13. java求职面试指南
  14. 微信怎样设置聊天显示的字体大小?简单技巧!微信如何调整字体的大小?
  15. 高考数学知识点:向量压轴题秒杀神器-中点转化式
  16. 开学季征文 | 一位开发实习生的真情流露
  17. 知乎周源微信_每周源代码16-风管磁带版
  18. 学计算机西电和中南,放弃中南大学等985高校,去南航、西电的强势专业到底值不值得呢?...
  19. 共同抵制恶意APP CNCERT公布首批黑名单
  20. css 字体颜色 样式大全

热门文章

  1. L1-043 阅览室 (20 分)(在线模拟题)
  2. 7-25 念数字 (15 分)
  3. android 进度条图标方形_Android - 条纹进度条实现,调整view宽度仿进度条
  4. java比较时间戳大小_JAVA中两个String类型的时间戳怎么样比较大小?
  5. Cocos2d-X 2.2嵌入MFC的子窗口
  6. 实验五 burpsuite重放攻击实验
  7. Gridview隐藏列和隐藏列的取值问题
  8. 讓combobox也綁定數據表
  9. Python学习笔记之While循环(二)
  10. sevlet中web.xml 文件