注意:误删文件后立即停止对当前卷的读写,可以保证最大程度的数据恢复。
拷备/usr/lpp/mmfs目录至/home, 手动删除文件,准备环境
恢复步骤
新挂载一块硬盘,防止恢复时写盘覆盖数据
- 大小视/home原规格而定,实测需要原容量的3倍
解挂载/home,并记录/home原挂载文件系统
df -h /home
umount /home
将新盘格式化后挂载到/home
mkfs.ext4 /dev/sdX
mount /dev/sdX /home
切换工作目录到现在的/home,运行testdisk
cd /home
cp -av /path/to/testdisk.package ./
解压testdisk
tar -xjvf testdisk*
运行testdisk工具
./testdisk/testdisk*
创建日志,默认Create, 直接回车。
选择/home之前挂载的分区,回车。
选择[None] 无分区表,回车。
工具检测到ext4格式的文件系统,不要回车,方向右键选底部[ List ], 再回车。
List后会出现误删以前/home下的目录或者文件,以<上><下>方向键操作
- 冒号: 单独选择某一个目录/文件
- a(小写)选择全部 (选择之后再a会取消选择 --> 选择之后会变绿,如果终端配置了颜色)
选择了要恢复的文件/目录后,C(大写)进入下一屏,选择文件转储目录
上下方向键操作(右键进入目录,左键退出到上一级)。此示例中为防止销毁数据,将/home挂载的文件系统由原LV替换成了/dev/sdb, 可选择当前目录即现在的/home ‘.’,然后再按 C(大写)开始恢复进程。
开始跑进度表示正常,Copy done之后可退出工具验证。
完成后q --> [Quit]退出,验证文件。