以下方法适用于文件或目录被删,如果被覆盖则无法恢复
方法一 使用系统自带的还原工具debugfs
- 第一步 查看文件或目录锁挂载的磁盘名
1 | df /root/你被删的目录 |
- 输入
debugfs
指令进入命令区
1 | root@xxx:# /debugfs |
- 进入挂载磁盘 查找被删目录和文件
1 | open dev/vda1 #这个是我服务磁盘名 你的也许不一样 |
带尖括号开头的文件表示已经被删除的 无尖括号表示当前已经存在的文件
接下来 咱们需要借助尖括号中的地址进行文件还原
- 根据node地址查找文件信息, 在debugfs命令区中输入
1 | logdump -i <19662057> |
文件还原
1
dd if=/dev/vda1 of=/root/被删除文件 bs=3456 count=1 skip=524974
* bs对应offset 表示文件大小
* count 表示需要还原几份
* skip对应block值 表示跳过blocks个块后再开始复制
至此 恢复完毕
### 方法二 使用第三方的还原工具extundelete
- 第一步 安装
1 | apt-get install extundelete -y |
- 第二步 获取被删文件或目录的node
1 | ls -lia 目标目录 |
- 根据node查看文件信息
1 | extundelete /dev/sda5 --inode 24904454 |
1 | #以下为控制台输出信息 |
- 恢复全部数据
1 | extundelete /dev/sda5 --restore-all |
- 恢复单个数据
1 | extundelete /dev/sdb5 --restore-file xxx |
- 恢复指定目录
1 | extundelete /dev/sdb5 --restore-directory xxx |
至此 ,恢复完毕
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站