linux文件被覆盖如何恢复_在Linux下误删文件后恢复
1、给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下:
2、格式化磁盘,并进行挂载
# mkfs.ext4 /dev/sdb
# mkdir /usr/local/dbdata/
# mount /dev/sdb /usr/local/dbdata/
3、测试误操作删除以下文件
/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
4、将误操作所在分区进行只读保护
如果确定文件被误删,在没有备份的情况下请马上对分区实施写入保护(预防新的写入覆盖误删的块数据,因此权限给只读):
# mount -o remount,ro /dev/sdb
# mount -o remount,ro /usr/local/dbdata/
5、数据恢复工具安装
工具安装部署
官方网站是http://extundelete.sourceforge.net/ ,其目前的稳定版本是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
6、文件恢复过程
恢复指定文件:
原理:从根节点(inode=2)开始找到被删除文件的i节点,然后recover i节点。
以下是模拟删除gperftools-2.4.tar.gz(文件)和pcre-8.32 (目录)
先检测被删除的文件有哪些:
# extundelete /dev/sdb --inode 2
从圈出来的可以看到,有以下两个
gperftools-2.4.tar.gz 15 Deleted
pcre-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、使用rm一定要谨慎
2、磁盘按照功能进行分区是必要的
3、最少掌握一种数据恢复方式
linux文件被覆盖如何恢复_在Linux下误删文件后恢复相关推荐
- linux ps 被替换文件怎么恢复,被覆盖的文件如何恢复_被替换掉的文件怎么恢复-win7之家...
我们在使用电脑的时候,可能会不小心将不该覆盖的文件给替换覆盖掉了,这样会导致以前的文件被覆盖了直接不见了,这让用户们很是着急,那么被覆盖的文件如何恢复呢?我们需要用到一些文件恢复类的软件来操作,现在给 ...
- Linux c语言 creat参数,C++_使用C语言操作文件的基本函数整理,C语言creat()函数:创建文件函 - phpStudy...
使用C语言操作文件的基本函数整理 C语言creat()函数:创建文件函数 头文件: #include #include #include 定义函数: int creat(const char * pa ...
- window oracle 只有bak文件怎么恢复_一起来学习Oracle的备份恢复基础吧-4
基于backup controlfile的恢复 使用备份的控制文件在实际工作中的两种情况: 当前控制文件全部损坏,而数据文件备份.控制文件备份及当前的日志处在不同的SCN版本,它们之间又增加过表空间( ...
- 误删了php文件怎么恢复,【问题】phpstorm误删文件后,恢复成了0KB
我把问题整理成文章,只是方便以后进行追溯 我自己写了一个db-backup脚本,每次项目完了就会执行一次备份. 后面我直接干掉了mysql目录,想恢复13:28分的记录备份,结果一打开吓我一跳 -- ...
- linux 虚拟机大量udp请求失败_理解 Linux 网络栈:Linux 网络协议栈简单总结分析...
1. Linux 网络路径 1.1 发送端 1.1.1 应用层 (1) Socket 应用层的各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的.Linu ...
- 黑苹果系统坏了如何恢复_黑苹果macOS系统U盘版/恢复版基础安装教程
写在前面 本文最后更新:2020年7月17日 本文是一篇黑苹果安装基础教程,内容比较入门.安装黑苹果,相信谁都不敢说自己能100%解决所有问题.如果本文未能解决你的问题,请见谅.本文主要介绍两种安装方 ...
- linux给目录赋访问权限_【Linux】Linux系统中的权限详解
我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...
- 如何修改xd.properties文件中对象存储文件信息_对块存储、文件存储、对象存储的认识总结...
因工作原因接触了对象存储,从而了解到相关的块存储和文件存储.搜罗了网上各种信息,结合自己的理解,整理如下.欢迎阅读,批评指正. 开头引用下几篇关于"块存储.文件存储.对象存储"的文 ...
- mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记
基于binlog二进制日志的MySQL恢复笔记 刚好复习到这里,顺手做个小实验,记录下. 总的操作流程: step0.关掉数据库的对外访问[防止用户操作继续写入这个库] step1.mysqlbinl ...
最新文章
- JS基础 -- 枚举对象中的属性
- 程序员读研如何提高技术之我见
- 安装 | MatlabR2019b: License Manager Error -8. License checkout failed.
- 域名相关的一些基础知识
- null、undefined、NaN区分解析和条件判定,以及在IF条件中的判定
- libevent: evbuffer缓冲
- html页面在f5刷新后把所有值清零,页面刷新列表内容不丢失
- 从头搭建drbd+openfiler+corosync (二)
- android,PHP解析JSON数组,JSONArray,JSONOject,乱码
- 【动态规划】01背包:P1049 装箱问题
- centos6.5 conky安装配置
- Elastic Job 入门
- 应用程序框架实战四:你需要应用程序框架吗
- Java如何进行Base64的编码(Encode)与解码(Decode)
- c语言有趣源代码,分享一段有趣的小代码
- python自动排版公众号_微信公众号文章自动化一键排版
- ae合成设置快捷键_AE脚本使用快捷键控制关键帧操作 Keyboard v1.2.1 + 使用教程【资源分享1081】...
- Unity-之-物体旋转-跳跃-2021.5.13
- Tensorflow中令人困惑的点(1)
- crontab格式写错出现报错