linux把根目录下0Apr删除,Linux下恢复数据误删除
发布日期:2021-10-27 15:17:56 浏览次数:28 分类:技术文章

本文共 4882 字,大约阅读时间需要 16 分钟。

;

#include ;

int

main( void )

{

FILE *fp;

char buf[1024];

long i=0;

long j=0;

long k=0;

fp=fopen("/dev/dsk/c0t1d0s7","r"

while (!feof(fp))

{

fread(buf,1024,1,fp);

for( j=0;j<1002;j++ )

{

if( !memcmp( buf+j, "IgmpSnoopingProcReport", 22) )

{

printf("%ld",i);

for(k=0;k<1024;k++)

printf("%c",buf[k]);

}

}

i++;

}

fclose(fp);

return 0;

}

其中IgmpSnoopingProcReport是其中的一个关键字,我反复查询过好几个关键字。

另外,1024是块的长度,我后来把1024改成了更大的数字(1024的整数倍),比如40960,

改动之后,一次就把bcm_ipmc.h的内容全部找出来了。

Linux下数据误删除不再是恐怖的事情,ext3grep帮你恢复

e2fsprogs

10个G的数据被误删除了,差点崩溃,试遍了所有常规恢复软件,无用,就要放弃的时候,发现了ext3grep这个开源东东!

顺利恢复所有数据,所以linux下数据删除并不可怕,可怕的是删除后没有恢复的方法,看看下面的操作吧!

[root@localhost ~]# uname -a

Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux

其实什么版本的系统无所谓 !

所需的相关库

[root@localhost ~]# rpm -qa |grep e2fsprogs

e2fsprogs-libs-1.39-8.el5

e2fsprogs-1.39-8.el5

e2fsprogs-devel-1.39-8.el5

必须要有e2fsprogs-libs,不然在后面ext3grep的安装会有问题。

分区情况:

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

6.2G 1.8G 4.2G 30% /

/dev/sda1 99M 11M 83M 12% /boot

/dev/mapper/VolGroup00-LogVol02

1008M 34M 924M 4% /data

tmpfs 125M 0 125M 0% /dev/shm

需要软件

先下载软件

[root@localhost ~]# cd /root/src/

[root@localhost src]# wget src

[root@localhost src]# ls

ext3grep-0.6.0.tar.gz

[root@localhost src]# tar xfvz ext3grep-0.6.0.tar.gz

[root@localhost ext3grep-0.6.0]# ./configure

[root@localhost ext3grep-0.6.0]# make install

[root@localhost ext3grep-0.6.0]# ext3grep

Running ext3grep version 0.6.0

编译然后测试可以使用了,一切做好了以后开始我们的恢复过程。

我的目录是/data分区,我先格式化了分区,我放一个文件在根目录下和一个子目录下的文件。

/dev/mapper/VolGroup00-LogVol02 1008M 34M 924M 4% /data

下面斜体部分不是必须的:

其实这里用什么分区倒是无所谓,也可以模拟一个出来,下面是模拟步骤:

1.        mkdir /data1/

2.        cd /data1/

3.        dd if=/dev/zero of=disk1 count=2048000

4.        mkfs.ext3 disk1

5.        mkdir -p /dfs/a

6.        mount -o loop /data1/disk1 /dfs/a

这里,我们用/data分区,先拷贝些文件过去

[root@localhost ~]# ]# cp /bin/ls /data/

[root@localhost ~]# ]# cp -rf /bin /data/

[root@localhost ~]# ]# ls -la /data/

total 136

drwxr-xr-x 4 root root 4096 Apr 21 17:37 .

drwxr-xr-x 25 root root 4096 Apr 21 17:11 ..

drwxr-xr-x 2 root root 4096 Apr 21 17:37 bin

drwx—— 2 root root 16384 Apr 21 17:15 lost+found

-rwxr-xr-x 1 root root 93560 Apr 21 17:37 ls

[root@localhost ~]#

一个子目录一个可执行文件

现在删除ls文件和bin下面的zcat

[root@localhost ~]# rm /data/ls

rm: remove regular file `/data/ls’? y

[root@localhost ~]# rm /data/bin/zcat

rm: remove regular file `/data/bin/zcat’? y

[root@localhost ~]# ls -la /data/ls /data/bin/zcat

ls: /data/ls: No such file or directory

ls: /data/bin/zcat: No such file or directory

文件没有了然后我们来恢复:

首先必须umount掉误删除数据的分区:

[root@localhost ~]# umount /dev/mapper/VolGroup00-LogVol02

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

6.2G 1.8G 4.2G 30% /

/dev/sda1 99M 11M 83M 12% /boot

tmpfs 125M 0 125M 0% /dev/shm

确认卸载,然后使用ext3grep来恢复。

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --ls --inode 2

这里会创建扫描分区

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --ls --inode 2

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file ls

Running ext3grep version 0.6.0

WARNING: I don’t know what EXT3_FEATURE_COMPAT_EXT_ATTR is.

Number of groups: 8

Minimum / maximum journal block: 585 / 8787

Loading journal descriptors… sorting… done

Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5

Loading VolGroup00-LogVol02.ext3grep.stage2… done

Restoring ls

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file bin/ls

Running ext3grep version 0.6.0

WARNING: I don’t know what EXT3_FEATURE_COMPAT_EXT_ATTR is.

Number of groups: 8

Minimum / maximum journal block: 585 / 8787

Loading journal descriptors… sorting… done

Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5

Loading VolGroup00-LogVol02.ext3grep.stage2… done

Restoring bin/ls

[root@localhost ~]# ls -la RESTORED_FILES/

total 124

drwxr-xr-x 3 root root 4096 Apr 21 18:01 .

drwxr-x— 5 root root 4096 Apr 21 17:55 ..

-rwxr-xr-x 1 root root 93560 Apr 21 17:48 ls

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file bin/zcat

Running ext3grep version 0.6.0

WARNING: I don’t know what EXT3_FEATURE_COMPAT_EXT_ATTR is.

Number of groups: 8

Minimum / maximum journal block: 585 / 8787

Loading journal descriptors… sorting… done

Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5

Loading VolGroup00-LogVol02.ext3grep.stage2… done

Restoring bin/zcat

[root@localhost ~]# ls -la RESTORED_FILES/bin/

total 188

drwxr-xr-x 2 root root 4096 Apr 21 18:01 .

drwxr-xr-x 3 root root 4096 Apr 21 18:01 ..

-rwxr-xr-x 1 root root 62136 Apr 21 17:48 zcat

看看都恢复在RESTORED_FILES目录下,大小也一样,这里RESTORED_FILES目录是执行ext3grep的当前目录下!

也可以使用:

ext3grep /termite/cc-disk --restore-all

恢复所有文件和目录,但是目录的话,如果删除时间较长,不一定能完全恢复,压缩文件一般都能恢复。

如果想详细的了解ext3grep,可以到它的的HOW TO页去看看:

~carlo17/howto/undelete_ext3.html

转载地址:https://blog.csdn.net/weixin_35172279/article/details/116556589 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux成为init子进程,Linux fork创建子进程
下一篇:oracle em增加表空间,oracle 增加表空间

发表评论

最新留言

不错!
[***.144.177.141]2024年03月26日 21时54分08秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

python中true什么意思_python中的bool是什么意思 2019-04-21
jacobian 矩阵意义_Jacobian矩阵和Hessian矩阵的作用是什么? 2019-04-21
c++ jna 数据类型_JNA 使用总结 2019-04-21
python中如何遍历列表并将列表值赋予_python中如何实现遍历整个列表? 2019-04-21
apache php mysql架构图_Apache+PHP+MYSQL+Tomcat+JK架构设计技巧与应用实战 2019-04-21
xlnt库如何编译_最新mysql数据库源码编译安装。 2019-04-21
mysql 2003错误 10055_MYSQL无法连接---提示10055错误 2019-04-21
mysql redis缓存层_redis实现缓存的两种方式 2019-04-21
git 改local branch名字_用Git管理Latex写论文的工作流程 2019-04-21
mysql索引篇_MySQL索引篇 2019-04-21
有至少一个用MySQL_Mysql有用的面试题 2019-04-21
mysql select同时update_MySQLSELECT同时UPDATE同一张表 2019-04-21
mysql删除后数据库没变化_mysql之delete删除记录后数据库大小不变 2019-04-21
net mysql start3534_MySQL 5.7.14 net start mysql 服务无法启动-“NET HELPMSG 3534” 的奇怪问题... 2019-04-21
pta两个有序链表的合并_7-1 两个有序链表序列的合并 (20分) --- 内存问题再叙 2019-04-21
python问题描述怎么写_python写文件有时候写不进去怎么办 2019-04-21
qpython3安装lxml_在python的lxml中使用xml目录? 2019-04-21
java 幂取模_快速幂取模算法 2019-04-21
java build path jre_java-如何在安装了jre 7后为Jre 6设置路径? 2019-04-21
java上传下载源码_javaweb简单实现文件上传与下载源代码 2019-04-21