Linux下恢复被删除文件的方法(linux下删除文件恢复)

<!–

2018/02/11 張鈞欣 技術支援

–>

随着技术的发展,Linux现在也出现了越来越多的场景,它已经占据了一定的市场份额。对于业务贴心的Linux系统管理员,有时会遇到系统内的文件“不翼而飞”的情形,恢复删除的文件是一件时常遇到的工作。本文将介绍Linux下恢复被删除文件的方法。

#### 恢复前的准备

在恢复之前,首先要做准备。一般而言,在恢复操作前,需要将主机关机,阻止系统对硬盘的写入操作,确保优盘或移动硬盘上存储恢复文件,最好也将其 mount 到系统,以便随时拷贝文件。

“`bash

# 关机

$ init 0

# mount 其他存储装置(此处以分区/dev/sdb1代码)

$ mount /dev/sdb1 /recov


#### 使用系统工具进行恢复

有了准备工作以后,就可以使用系统默认的工具进行文件恢复了。在Linux中,可以使用 `extundelete` 这个工具对删除的文件进行恢复,完整的语句为:

```bash
extundelete --inode

其中 “ 表示文件节点,“表示硬盘设备号,比如`/dev/hda1` , `/dev/sdb2`。

另外,如果文件节点或者文件名不方便获取的话,就可以使用 `extundelete` 工具的其他功能:

“`bash

# 恢复此分区上删除的所有文件

$ extundelete /dev/hda3

# 恢复某个时间点的文件

$ extundelete –restore-all –after “2010-01-03 16:33:00” /dev/hda3


#### 手动恢复

最后,还可以采用手动恢复的方式,在有了上述准备之后,就可以将 `/dev/sdb1` 这个分区挂载到 `/mnt/recov` 目录下,然后就可以搜索了:

```bash
# 挂载分区
$ mount /dev/sdb1 /mnt/recov

# 搜索文件
$ find /mnt/recov -iname "*.txt"
/mnt/recov/123.txt
/mnt/recov/abc.txt

## 结论

在Linux下恢复被删除文件,主要使用 `extundelete` 工具,它有很多参数可供选择;此外,有时也要手动进行恢复,查找文件的历史位置。然而在做恢复操作的时候,请务必注意安全,包括挂载存储装置、禁止写入等。


数据运维技术 » Linux下恢复被删除文件的方法(linux下删除文件恢复)