环境:CentOS 5.3 x86_64下,/dev/sdb1为数据分区/data0,EXT3文件系统。
前因:误删了/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件。由于忘了备份httpcws.cpp文件,重新开发工作量较大,因此只有恢复该文件一条路可走。
debugfs命令针对EXT2分区还行,但对EXT3分区就帮不上忙了。偶然发现的一款开源软件,解决了我的大忙。该软件下载网址为:
http://code.google.com/p/ext3grep/
1、先安装ext3grep软件:
2、umount /data0分区:
umount /data0
如果提示busy,先kill正在使用这个目录的进程,再umount:
fuser -k /data0
umount /data0
3、查询所有Inode,(执行需要几分钟~十多分钟):
ext3grep /dev/sdb1 --ls --inode 2
4、逐级查找Inode,看是否能找到httpcws.cpp文件(此步骤也可省略):
5、恢复/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件:
ext3grep /dev/sdb1 --restore-file tcsql/cankao/phpcws-1.5.0/httpcws.cpp
如果提示以下信息,则表示恢复成功:
Restoring tcsql/cankao/phpcws-1.5.0/httpcws.cpp
这时,执行ext3grep命令的当前目录下将会自动生成一个名为RESTORED_FILES的文件夹,文件夹下的tcsql/cankao/phpcws-1.5.0/httpcws.cpp即为恢复的文件。查看了一下,和被删除前的内容一样,大功告成。
6、重新mount /data0分区:
mount /dev/sdb1 /data0
参考资料:http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
分享到:
相关推荐
在这种情况下,他们找到了一个名为`ext3grep`的工具,该工具专门用于恢复Linux ext3文件系统中被删除的文件。`ext3grep`能够扫描磁盘并列出已删除的文件名,然后尝试恢复这些文件。在执行`--dump-names`选项时,它...
在确认了服务器使用的是ext3文件系统后,作者下载并安装了`ext3grep`,通过`--dump-names`选项扫描并列出了所有被删除的文件和路径。这为数据恢复带来了希望。 然而,`ext3grep`工具的一个限制是不能按目录恢复文件...
首先,当意外执行rm -rf命令导致文件被删除时,如果文件系统是ext3,可以使用ext3grep工具进行数据恢复。ext3grep能够扫描文件系统,恢复通过rm删除的文件。使用ext3grep之前,确保已经将包含被删文件的磁盘分区卸载...
4.2 文件系统的组织结构 88 4.3 文件的类型 92 4.3.1 普通文件 92 4.3.2 目录文件 94 4.3.3 特殊文件 95 4.3.4 链接文件 98 4.3.5 符号链接文件 99 4.3.6 管道文件 101 4.4 文件的安全保护机制 101 4.4.1 显示文件的...
4.2 文件系统的组织结构 88 4.3 文件的类型 92 4.3.1 普通文件 92 4.3.2 目录文件 94 4.3.3 特殊文件 95 4.3.4 链接文件 98 4.3.5 符号链接文件 99 4.3.6 管道文件 101 4.4 文件的安全保护机制 101 4.4.1 显示文件的...
在某些文件系统中,如ext4(Linux)或NTFS(Windows),存在一种称为“快照”的功能,它可以在特定时间点创建文件系统的镜像。如果用户误删或修改了文件,可以从快照中恢复,实现“重做”。 4. **备份与恢复策略**...