淘先锋技术网

首页 1 2 3 4 5 6 7

     在linux系统运维工作中,经常会遇到因操作不慎,操作错误等导致文件数据丢失的情况。这里所指的是彻底删除,即已经不能通过“回收站”找回的情况,比如使用“rm -rf”来删除数据。针对linux下的EXT文件系统,可用的恢复工具有debugfs,ext3grep,extundelete等,其中extundelete工具是一个开源的linux数据恢复工具,支持ext3,ext4文件系统。

下面介绍使用extundelete工具如何恢复redhat6.5中的误删除文件1,编译安装extundelete在编译安装之前需要安装依赖包,e2fsprogs-libs-1.41.12-18.e16.x86_64.rpm和e2fsprogs-devel-1.41.12-18.e16.x89_64.rpm这两个包在系统光盘的/Packages目录下就有,使用rpm命令将其安装。e2fsprogs-devel-1.41.12-18.e16.x89_64.rpm安装依赖于libcom_err-devel包。还需要使用yum命令安装gcc,gcc-c++配置编译环境安装完依赖包之后,即可将提前准备的extundelete软件包解压,配置,编译,安装。9d950d3a8e6f290f055dc817cd77e0a2.png2,模拟删除并执行恢复操作(1)使用fdisk命令创建新的分区,将其挂载到/sdb1目录下,并往该目录下新建一些文件fd7317cba8243e1224501b3f20d35672.png77ce6234f1ed160488671fdff122199a.png80cf4723226b1ddb370c9b606bb6026f.png使用“extundelete /dev/sdb1 --inode 2”命令可以查看文件系统/dev/sdb1下存在的文件,以及使用情况。1fcff99d288924d152fc9807d453f599.png可以看到该文件系统下存在的文件,以及inode号4f58ab5c2cf82c1b29eae38fbe19718d.png(2)模拟误操作并恢复使用“rm -rf a b”命令删除/sdb1下的a文件和b文件,立即卸载该文件系统,使用“extundelete /dev/sdb1 --restore-all”恢复/dev/sdb1文件系统下的所有内容aa498e78df4bf8ce1926a53470f5051b.png执行完恢复的命令后,在当前目录下会出现一个/RECOVERED_FILES/目录,里面保存了已经恢复的文件。24078c92372f3b3e48fa4af93058c34d.png