如果由于某些原因误删了linux的数据文件,可以恢复的途径很多,现在介绍一个Linux本身自带的工具:debugfs,这里只是简单的介绍一下,debugfs实现的功能很多,大家有兴趣可以自己去研究研究:

[@more@]

进入debugfs模式:

debugfs /dev/sdb1

查找已经被删除的数据:

debugfs 1.39 (29-May-2006)

debugfs: lsdel

Inode Owner Mode Size Blocks Time deleted

229870 0 100644 1511 1/ 1 Fri Jul 30 08:55:11 2010

229871 0 100644 1625 1/ 1 Fri Jul 30 08:55:17 2010

196613 0 40700 0 1/ 1 Fri Jul 30 08:55:30 2010

212993 0 40700 0 1/ 1 Fri Jul 30 08:55:30 2010

212994 0 100777 2282 1/ 1 Fri Jul 30 08:55:30 2010

212995 0 40700 0 1/ 1 Fri Jul 30 08:55:30 2010

229377 0 40700 0 1/ 1 Fri Jul 30 08:55:30 2010

229378 0 100777 2417 1/ 1 Fri Jul 30 08:55:30 2010

196611 0 100644 4096 1/ 1 Wed Aug 18 23:21:11 2010

查看某个已经被删除的文件:

debugfs: stat <196611>

Inode: 196611 Type: regular Mode: 0644 Flags: 0x0 Generation: 2373075787

User: 0 Group: 0 Size: 4096

File ACL: 0 Directory ACL: 0

Links: 0 Blockcount: 8

Fragment: Address: 0 Number: 0 Size: 0

ctime: 0x4c6bfa67 -- Wed Aug 18 23:21:11 2010

atime: 0x4c6bfa64 -- Wed Aug 18 23:21:08 2010

mtime: 0x4c6bfa64 -- Wed Aug 18 23:21:08 2010

dtime: 0x4c6bfa67 -- Wed Aug 18 23:21:11 2010

BLOCKS:

(0):423936

TOTAL: 1

开始恢复:

这里以196611删除的数据为例:

debugfs: dump <196611> /tmp/196611.bak

可以看到已经恢复了

方法二:

可以通过手动修改已经被删除的inode结构来达到恢复的目的:

debugfs: mi <196611>

mi: Filesystem opened read/only

以上是因为我们将文件系统以read/only的模式进行的挂载

debugfs: close

debugfs: open -w /dev/MIDDER/weblogic

修改为可以修改的。

debugfs: mi <196611>

Mode [0100644]

User ID [0]

Group ID [0]

Size [4096]

Creation time [1282144871]

Modification time [1282144868]

Access time [1282144868]

Deletion time [1282144871] 0

Link count [0] 1

Block count [8]

File flags [0x0]

Generation [0x8d72434b]

File acl [0]

High 32bits of size [0]

Fragment address [0]

Fragment number [0]

Fragment size [0]

Direct Block #0 [423936]

Direct Block #1 [0]

Direct Block #2 [0]

Direct Block #3 [0]

Direct Block #4 [0]

Direct Block #5 [0]

Direct Block #6 [0]

Direct Block #7 [0]

Direct Block #8 [0]

Direct Block #9 [0]

Direct Block #10 [0]

Direct Block #11 [0]

Indirect Block [0]

Double Indirect Block [0]

Triple Indirect Block [0]

修改红色标示的部分

最后退出:quit

最后,使用fsck 对修改的文件系统进行扫描

[root@localhost tmp]# fsck.ext3 /dev/MIDDER/weblogic

e2fsck 1.39 (29-May-2006)

/dev/MIDDER/weblogic is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause

SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

/dev/MIDDER/weblogic was not cleanly unmounted, check forced.

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Unattached inode 196611

Connect to /lost+found? yes

Inode 196611 ref count is 2, should be 1. Fix? yes

Pass 5: Checking group summary information

Block bitmap differences: +423936

Fix? yes

Free blocks count wrong for group #12 (32252, counted=32251).

Fix? yes

Free blocks count wrong (206716, counted=206715).

Fix? yes

Inode bitmap differences: +196611

Fix? yes

Free inodes count wrong for group #12 (16382, counted=16381).

Fix? yes

Free inodes count wrong (494680, counted=494679).

Fix? yes

linux恢复表数据,Linux恢复误删的数据相关推荐

  1. linux共享文件丢失,【干货分享】linux平台下数据文件被误删后,如何及时得知并进行恢复...

    原标题:[干货分享]linux平台下数据文件被误删后,如何及时得知并进行恢复 我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LI ...

  2. linux mysql 文件恢复_linux下误删数据文件恢复

    linux下文件被删除可以用很多工具进行恢复,例如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext3 ...

  3. linux文件恢复dbf,linux平台下数据文件被误删后,如何及时得知并进行恢复-dbf文件怎么打开...

    我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LINUX操作系统中,被进程打开的文件仍可以被删除,因此存在DM7数据文件可能被误 ...

  4. Linux 平台下 误删 oracle 数据文件的恢复方法

    1  问题描述 之前写过一篇删除oracle home目录的blog,参考: Linux 平台误删 home oracle 根目录的解决方法 http://www.cndba.cn/Dave/arti ...

  5. 上海腾科教育达梦数据库培训干货分享linux平台下数据文件被误删后,如何及时得知并进行恢复

    我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LINUX操作系统中,被进程打开的文件仍可以被删除,因此存在DM7数据文件可能被误 ...

  6. 远程linux还原本地bak文件,Linux -- 服务器数据备份恢复策略

    一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...

  7. linux查看磁盘分区恢复磁盘,在Linux,误删磁盘分区怎么恢复呢【转】

    在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...

  8. linux使用rm -rf删除数据后恢复

    centos7 rm之后数据恢复的方式 仅供自己学习参考 如果文件没有被使用 初次测试发现基本无法恢复. 场景1 文件正在被程序使用 创建一个文件 并用tail -f一直读取文件信息 不要使用tail ...

  9. suse linux系统误删除文件恢复,Linux系统下部署文件恢复神器extundelete恢复误删的文件...

    Linux系统下部署文件恢复神器extundelete恢复误删的文件 最近看到群里提到如何恢复LINUX下ext4误删的文件,之前听说过ext3分区恢复工具ext3grep,恢复ext4刚是用extu ...

  10. linux快速恢复rm数据,linux下rm后恢复数据

    案例一: 手太快,肠子都毁清了.本来是删除一个文件 rm path/myfile.txt 结果不知为何加了个,变成了 rm path/myfile.txt 赶紧ls,发现所有代码都化为了乌有,还没提交 ...

最新文章

  1. Web图形开发,SVG还是VML?
  2. Java NIO类库Selector机制解析--转
  3. 动态asp网页批量生成静态html网页问题
  4. 解决mysql报错Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock
  5. 使用openssl生成双向加密证书(转)
  6. adas记录仪app_4K旗舰丨盯盯拍MINI5智能行车记录仪荣耀新生!
  7. 4.云计算和大数据时代网络揭秘-安全的网络通道-网络加密
  8. spring aop获取目标对象的方法对象(包括方法上的注解)(转)
  9. 一文入门Python 3
  10. mysql 个版本区别_MySQL各个版本区别
  11. Typora的最后一个免费版本MD编辑器
  12. 无法安装打印机,打印处理器不存在
  13. java doc 转 pdf_java doc转pdf(示例代码)
  14. D4.8 Write transactions
  15. 蓝桥杯java历年真题及答案整理21~40
  16. js中输出2000~2100年之间所有的闰年;
  17. 树莓派 Pico ADC温度测量
  18. X取个好的英文名字(男性)
  19. Pygame实战之外星人入侵NO.9——消灭外星人
  20. Variant数据类型

热门文章

  1. redux-chunk中间件的安装和使用-(二)
  2. MongoDB学习(黑马教程)-2-数据库MongoDB的导入文档和查询文档的操作
  3. c语言qsort函数对结构体的一级排序,sort和qsort函数对结构体的二级排序
  4. python常见的错误类型_python中新手朋友常见的错误信息汇总
  5. spark生成dataframe的几种方式
  6. 小菜找实习——阿里3月27日场笔试第一题
  7. FileZilla,读取目录列表失败(425 Can‘t open data connection.)的解决办法
  8. Wannafly挑战赛28A(模拟,题意文字游戏)
  9. Kotlin——高级篇(四):集合(Array、List、Set、Map)基础
  10. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)