linux系统中操作重要文件,备份是最重要的但是有时候误删除文件,要怎么恢复呢?

下面经验可以试试

当前系统只有一个用户在登录,对文件进行了误删除操作,那么,这个时候该如何进行操作?

注意事项及解决思路:

停止对当前分区做任何操作

通过DD命令进行对当前分区进行备份,防止通过第三方软件恢复失败,造成数据的丢失      dd if=/path/file  of=/dev/sdb1

通过umount命令将当前设备分区进行卸载

Umount  /dev/sda   或者umount  /挂载点mount_point

4.下载并安装第三方开源工具,进行对丢失的文件进行搜索并进行还原

5.编译安装./configure  --help

源码包解压

相应的命令进行对源码文件配置属性,./configure  or  cmake

Make  编译

Make install (编译安装)

#实例操作:

1.在/root/test分区创建一个测试目录test_dir,放置文件

2.删除测试目录,rm -rf  test_dir

3.备份/root/test分区, dd  if=/dev/sdb  of=/backup (dd只能备份文件,创建文件,和备份分区)

目录的话不行

4.卸载umount  /root/test  或者 umount  /dev/sdb挂载点

5.下载第三方文件到其他目录

6.接入文件是bz2压缩的就 tar  jxf  filename   |gzip就用 tar  zxf  filename

也可将文件解压到指定目录

Tar  z|jxf  filename -C /dirname

7.进入目录 extundelete-0.2.4编译安装

a.先安装软件依赖的库文件 yum install -y e2fsprogs*   ,和开发环境软件包组,yum grouplist查看,安装yum  groupinstall -y “软件包组”

“Development  tools”-开发包

b.可以通过./configure --help查看安装的一些属性

./configure --prefix=/usr/local/repairsystem 指定安装地点(make和make install后就可以看到)

C.make&&make install

编译安装完成,默认文件是放在 /usr/local/bin/extundelete

自己指定的话就放在 /usr/local/repairsystem/bin/extundelete

(bin目录下的文件,可以看作是一个命令extundelete就是一个命令)

Extundelete相关命令:

1.extundelete  --inode(双斜杠) 2 /dev/sdb1 (sdb1是删除的文件的分区)

查看删除文件的inode值是多少(要记得inode值是什么)

2.extundelete  --restore-inode  inode值   /dev/sdb1分区(卸载的分区)

命令类似:extundelete  --restore-inode  3389   /dev/sdb1

3.extundelete --restore-all  /dev/sdb1  恢复/dev/sdb1全部被删除的文件

我们只需要执行下面这条命令即可,上面是扩展的

执行完extundelete  --restore-all /dev/sdb 之后

你在哪个分区下执行这条命令,那么这条命令执行完后就会在这个分区生成一个文件夹

命名为RECOVERD_FILES,恢复好的文件都在里面,自己找到要恢复的复制就行