以下方法适用于文件或目录被删,如果被覆盖则无法恢复
方法一 使用系统自带的还原工具debugfs
- 第一步 查看文件或目录锁挂载的磁盘名
df /root/你被删的目录
- 输入
debugfs指令进入命令区
root@xxx:# /debugfs
- 进入挂载磁盘 查找被删目录和文件
open dev/vda1 #这个是我服务磁盘名 你的也许不一样
ls -d /root/你被删的目录 #查找被删文件

带尖括号开头的文件表示已经被删除的 无尖括号表示当前已经存在的文件
接下来 咱们需要借助尖括号中的地址进行文件还原
- 根据node地址查找文件信息, 在debugfs命令区中输入
logdump -i <19662057>

-
文件还原
dd if=/dev/vda1 of=/root/被删除文件 bs=3456 count=1 skip=524974
bs对应offset 表示文件大小
count 表示需要还原几份
* skip对应block值 表示跳过blocks个块后再开始复制
至此 恢复完毕
方法二 使用第三方的还原工具extundelete
- 第一步 安装
apt-get install extundelete -y
- 第二步 获取被删文件或目录的node
ls -lia 目标目录
- 根据node查看文件信息
extundelete /dev/sda5 --inode 24904454
#以下为控制台输出信息
File name | Inode number | Deleted status
. 2
.. 2
deletetest 12 Deleted
tmppasswd 14 Deleted
- 恢复全部数据
extundelete /dev/sda5 --restore-all
- 恢复单个数据
extundelete /dev/sdb5 --restore-file xxx
至此 ,恢复完毕




近期评论