linux文件系统误删除数据恢复.docx

linux文件系统误删除数据恢复.docx

ID:50827723

大小:42.44 KB

页数:8页

时间:2020-03-15

linux文件系统误删除数据恢复.docx_第1页
linux文件系统误删除数据恢复.docx_第2页
linux文件系统误删除数据恢复.docx_第3页
linux文件系统误删除数据恢复.docx_第4页
linux文件系统误删除数据恢复.docx_第5页
资源描述:

《linux文件系统误删除数据恢复.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、我们在管理数据库和系统的时候,经常需要做rm 删除文件的操作。由于Linux是没有回收站的,rm删除了文件或者目录以后,数据是无法从Windows所谓的回收站中找到并恢复的。这样的话,数据被误删除了以后,想要恢复我们一般需要从备份中,或者找数据恢复公司来恢复数据。但是,在某些比较特殊的情况下,使用了以下方法,我们还是可以找回部分数据的。这里我们主要介绍两种数据恢复的方法。第一种是针对文件在文件系统中已经被删除了,但是,打开这个文件的进程还存在。第二种针对文件在文件系统中已经被删除了,目前也没有任何进程打开着这个文

2、件,但是文件在删除以后没有其他对文件系统的变更操作。 1.           从/proc文件系统恢复数据在Linux系统中,文件被删除了,只要打开文件的进程没有被关闭,那么恭喜你,这个文件重新恢复出来的可能性非常大。因为Linux操作系统在删除文件时,会判断打开这个文件的所有进程是否都已经关闭,如果还有一个进程没有关闭,那么这个文件的空间将不会释放。只有所有打开这个文件的进程都关闭以后,这个文件的空间才会释放。这也是为什么在Linux下有时候我们删除文件,文件的空间无法释放掉的原因。这种情况下,我们可以尝试从

3、/proc文件系统中将文件恢复出来。/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。通过这个伪文件系统让你可以和内核内部数据结构进行交互。你可以获取对应进程的有用信息,在运行中 (onthefly)通过改变内核参数修改部分设置。它与其他文件系统不同,/proc 是存在于内存之中而不是硬盘上。接下来我们模拟一下数据误删除的过程,来看看在进程没有关闭的情况下,怎么从/proc中恢复数据。首先,我们有一个echo_red.sh的文件,我们在会话sessi

4、on1查看一下这个文件的内容。此时,在另外一个会话session2中有一个进程在修改这个文件:然后这个文件在会话session1中被我们“误删除”掉了: Session1Session2[root@test1/home/woqu]#ll总用量 4-rw-r--r--1root9310月 1617:49echo_red.sh [root@test1/home/woqu]#catecho_red.shecho_red(){    #echoamessagewithredcolor    echo-e"e[1;31m

5、$@e[m"     return0}  [root@test1/home/woqu]#cat>echo_red.shecho_red(){    #echoamessagewithredcolor    echo-e"e[1;31m$@e[m"    return0} [root@test1/home/woqu]#rm-fecho_red.sh [root@test1/home/woqu]#ll总用量 0   此时,我们发现文件被“误删除”了,需要恢复数据,那么我们需要怎么做列?l   磁盘备份发现误删除

6、以后,我们需要立刻停止对该分区的写操作。在恢复之前,如果可能的话,建议通过dd命令将磁盘整个备份起来,以避免操作的时候损坏了磁盘上相关数据。 l   确定进程号和文件句柄号首先,我们需要确定打开这个文件的进程号,以及进程打开这个文件的文件号。最直接的办法就是lsof

7、grep-idelete:[root@test1/home/woqu]#lsof

8、grep-ideletecat       11791  root    1w      REG              253,0       94    1048

9、589/home/woqu/echo_red.sh(deleted)这里一共有9列,各列列名如下:COMMAND     PID  USER   FD      TYPE             DEVICESIZE/OFF       NODENAME也就是说,打开这个文件的进程是11791,而/home/woqu/echo_red.sh对应该进程的文件句柄是1w。也就是说文件句柄号是1。l   恢复误删除文件然后,我们就可以直接将这个文件的内容拷贝出来: [root@test1/root]#cp/proc/1

10、1791/fd/1 echo_red.sh [root@test1/root]#catecho_red.shecho_red(){    #echoamessagewithredcolor    echo-e"e[1;31m$@e[m"    return0}如上所示,数据文件恢复出来了,内容也是一模一样的。 2.           Extundelete工具恢复对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。